Как правильно обрабатывать дочерний выбор, когда ExpandableListView получает фокус? - PullRequest
3 голосов
/ 19 августа 2011

У меня есть ExpandableListView, а затем какой-то другой элемент управления, который может иметь фокус справа от него.Что-то вроде этого.Примечание: выбран Child2.

Group1       
  Child1    +-----------------------+
 *Child2*   |                       |
  Child3    | Other focusable View. |
  Child4    |                       |
  Child5    +-----------------------+

При использовании d-pad, если я нажимаю вправо, фокус переходит на другой вид.В этот момент, если я нажимаю влево на d-pad, фокус возвращается к моему ExpandableListView, но вместо Child2 выбирается Child3 (потому что он в центре).

В общем, как я могу убедиться, что ранее выбранный дочерний элемент остается выбранным дочерним элементом, когда фокус исчезает, а затем возвращается к моему ExpandableListView?Есть идеи по поводу работы?Я попытался кэшировать текущий выбор, затем вызвал setChildSelected(), но по какой-то причине выбор не произошел.

1 Ответ

0 голосов
/ 23 августа 2011

Что ж, я решил эту проблему, кэшируя текущую группу и дочерний элемент, когда фокус потерян, и затем явно перенастроил группу / дочерний элемент, когда просмотр списка вновь получает фокус. Мне также пришлось отключить просмотр списка и снова включить его в разных местах. Это взлом, но это работает.

...