Şimdiye kadar yaklaşık 6 saat geçirdim ve barikatlardan başka hiçbir şeye çarpmadım. Genel önerme, ListView
bir EditText
pencere öğesi ve bir Button
. Tek yapmak istediğim, seçiciyi normal gibi tek tek öğelere yönlendirmek için jogball / okları kullanabilmek, ancak belirli bir satıra geldiğimde - net bir şekilde satırı tanımlamam gerekse bile - odaklanabilir çocuk, o çocuğun konumu seçici ile belirtmek yerine odaklanmasını istiyorum.
Pek çok olasılık denedim ve şimdiye kadar hiç şansım olmadı.
Yerleşim:
<ListView
android:id="@android:id/list"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
/>
Başlık görünümü:
EditText view = new EditText(this);
listView.addHeaderView(view, null, true);
Bağdaştırıcıda başka öğeler olduğunu varsayarsak, ok tuşlarının kullanılması, beklendiği gibi, listedeki seçimi yukarı / aşağı hareket ettirecektir; ancak başlık satırına gelindiğinde, seçici ile birlikte görüntülenir EditText
ve jogball'u kullanmaya odaklanmanın yolu yoktur . Not: dokunarak EditText
olacak , o noktada ancak bir gereklilik olmamalı Dokunmatik, güvenir o kadar odaklanır.
ListView
Görünüşe göre bu konuda iki moda sahiptir:
1 setItemsCanFocus(true)
.: seçici asla görüntülenmez, ancak EditText
okları kullanırken odaklanabilir. Odak arama algoritmasını tahmin etmek zordur ve hangi öğenin seçildiğine dair görsel geri bildirim (herhangi bir satırda: odaklanabilir çocuklara sahip olmak veya değil) yoktur, her ikisi de kullanıcıya beklenmedik bir deneyim verebilir.
2 setItemsCanFocus(false)
.: seçici her zaman dokunmatik olmayan modda çizilir ve EditText
üzerine dokunsanız bile asla odaklanamaz.
editTextView.requestFocus()
Sorunları daha da kötüleştirmek için, çağrı doğru döndürür, ancak gerçekte EditText odağını vermez.
Ne öngören olduğum temelde eğer yerine liste ayarından daha 1 & 2, bir melez olduğunu tüm öğeleri odaklanabilir ya da olmasın, bir için ayarlanan focusability istediğiniz tek listede öğe böylece seçmekten seçici sorunsuz geçişler olduğunu odaklanılamayan öğeler için tüm satır ve odaklanılabilen alt öğeler içeren öğeler için odak ağacında gezinme.
Alıcı var mı?