我有一个ExpandableListView
,然后有一些其他控件可以将焦点放在右边。像这样的东西。注意:选择了Child2。
Group1
Child1 +-----------------------+
*Child2* | |
Child3 | Other focusable View. |
Child4 | |
Child5 +-----------------------+
使用d-pad,如果我按向右键,焦点将转到另一个视图。此时,如果我在d-pad上按左键,焦点将返回到我的ExpandableListView
,但是Child3被选中而不是Child2(因为它位于中心)。
一般情况下,当焦点离开然后返回ExpandableListView
时,如何确保先前选定的子节点仍然是选定的子节点?关于解决方案的任何想法?我尝试缓存当前选择然后调用setChildSelected()
,但由于某种原因选择不会发生。
答案 0 :(得分:0)
好吧,我通过在焦点丢失时缓存当前组和子进程来解决它,然后在listview重新获得焦点时显式重新设置组/子组。我还必须禁用listview并在各个地方重新启用它。这是一个黑客,但它的工作原理。