Сместить фокус на View(кнопка) из ViewGroup(элемент ListView)
У меня есть ListView с количеством элементов N, и у каждого элемента (ViewGroup) в списке есть некоторые виды, такие как просмотр изображений, просмотр текста и несколько кнопок, как показано на изображении ниже.
https://drive.google.com/file/d/0B0cUDScxLAxfRXRNemphazhPd1k/view?usp=sharing
Мое требование - при прокрутке в ListView, если я нажимаю левую / правую клавишу в D-Pad, тогда либо самая левая, либо самая правая кнопка должна фокусироваться и фокусироваться на виде всего списка. Элемент должен исчезнуть.
Я пробовал с Android:nextFocusDown() в XML и setNextFocusDownId(int)
но не работает.
Мне нужно добавить другие параметры в XML / Java?
Примечание: в моем приложении / устройстве есть D-pad.
1 ответ
Я достиг этого, создав 'CustomListView'.
Я расширил ListView в CustomListView
public class CustomListView extends ListView
{
public CustomListView(Context context)
{
super(context);
}
public CustomListView(Context context, AttributeSet attrs)
{
super(context, attrs);
}
public CustomListView(Context context, AttributeSet attrs, int defStyleAttr)
{
super(context, attrs, defStyleAttr);
}
public CustomListView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
{
super(context, attrs, defStyleAttr, defStyleRes);
}
и я переопределяю onKeyDown и onKeyUp, и я устанавливаю значения для setItemsCanFocus и setDescendantFocusability.
Надеюсь, мое решение поможет вам.