descendantFocusability
'u anlamakta zorlanıyorum. Çok özel olarak afterDescendants
.Birisi descendantFocusability = afterDescendants'ı açıklayabilir mi?
Birisi bana bunun ne zaman yararlı olacağını gösteren bir örnek gösterebilir mi?
descendantFocusability
'u anlamakta zorlanıyorum. Çok özel olarak afterDescendants
.Birisi descendantFocusability = afterDescendants'ı açıklayabilir mi?
Birisi bana bunun ne zaman yararlı olacağını gösteren bir örnek gösterebilir mi?
Odaklanmak için View
'u ararken ViewGroup
ve onun torunları arasındaki ilişkiyi tanımlar.
Aşağıdaki sabit değerlerden biri olmalıdır.
+------------------------------------------------------------------------------------------+ | Constant Value Description | +------------------------------------------------------------------------------------------+ | afterDescendants 1 The ViewGroup will get focus only if | | none of its descendants want it. | +------------------------------------------------------------------------------------------+ | beforeDescendants 0 The ViewGroup will get focus before | | any of its descendants. | +------------------------------------------------------------------------------------------+ | blocksDescendants 2 The ViewGroup will block its descendants from | | receiving focus. | +------------------------------------------------------------------------------------------+
Sen tam bir örnek here kontrol edebilirsiniz.
snippet'tir: Yukarıdaki pasajı gereğince
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
ListView listView = getListView();
Log.d(TAG, "onItemSelected gave us " + view.toString());
Button b = (Button) view.findViewById(R.id.button);
EditText et = (EditText) view.findViewById(R.id.editor);
if (b != null || et != null) {
// Use afterDescendants to keep ListView from getting focus
listView.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);
if(et!=null) et.requestFocus();
else if(b!=null) b.requestFocus();
} else {
if (!listView.isFocused()) {
// Use beforeDescendants so that previous selections don't re-take focus
listView.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);
listView.requestFocus();
}
}
}
, afterDescendants
EditText
veya Button
ya odağı talep edebilirsiniz, böylece odağı girmesini listview
önlemek için kullanılır.