Сместить фокус на 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.

Надеюсь, мое решение поможет вам.

Другие вопросы по тегам