Kontext
ich eine App bin developping, die vollständig zugänglich sein muss, für die ich brauche den Fokus Reihenfolge der verschiedenen Ansichten meines Layout angeben.Wie Fokus zu handhaben, wenn Listview leer ist
Mein Layout sieht wie folgt aus (Zahlen den Fokus Ordnung und definieren, ist die ListView
und andere sind gemeinsame Ansichten):
Die relevanten Teile des XML (unter Berücksichtigung I nextFocusDown
verwendet und nicht nextFocusForward
absichtlich meine Bedürfnisse) zu passen:
<View
android:id="@+id/view_1"
android:nextFocusDown="@+id/view_2" />
<View
android:id="@+id/view_2"
android:nextFocusDown="@android:id/list" />
<ListView
android:id="@android:id/list"
android:nextFocusDown="@+id/view_4" />
<View
android:id="@+id/view_4"
android:nextFocusDown="@+id/view_1" />
das funktioniert gut, wenn die Listview mit Gegenständen gefüllt ist, t Der Fokus verhält sich wie beabsichtigt. 1 ⇒ 2 ⇒ 3 (Artikel für Artikel) ⇒ 4 ⇒ 1 ... und so weiter. Jetzt
Problem
wenn mein ListView
leer ist der Android Focus Manager scheint in der 2. Ansicht stecken. Wenn der Fokus den Punkt erreicht, wird der Fokus nicht auf die ListView
noch weniger zur 4. Ansicht gegeben. Denn wenn meine Liste kein Element enthält, möchte ich, dass der Fokus von direkt auf geht.
Frage
bin ich etwas fehlt oder könnte dieses seltsame Verhalten etwas anderes in meinem Code zu produzieren?
ich über diese Art und Weise gedacht zu gehen, aber ich habe ein paar Unterschiede (die zu komplex sind, hier zu erklären), dass dies schwer zu erreichen macht. Wenn das der einzige Weg ist, werde ich es trotzdem versuchen. Danke, werde akzeptieren, weil es die Frage beantwortet –