我有2个水平画廊和一个LinearLayout
的对话框,我对focus
有疑问。
看起来像这样:
图库2是图库1的某种子菜单。
我为两个画廊都实现了onItemSelected
侦听器。当我在Gallery1中选择某些内容时,Gallery 2的内容会被更改,并且焦点会停留在Gallery 1上。并且它可以正常工作。
当我在图库2中选择某些内容时,我必须在LinearLayout
中对xml文件进行充气并对其执行某些操作。
问题是当我在Gallery 2中选择某个东西,并在LinearLayout中膨胀xml时......焦点在Gallery 1上,但我需要它留在Gallery 2上,直到我按向上或向下或其他任何东西。不知道是什么问题,对我来说毫无意义。
你有什么想法吗?
Gallery2.requstFocus()
没有帮助。
答案 0 :(得分:0)
我已经忘记了这个问题,'我已经放弃了:) 但最近我遇到了类似的问题并解决了它......
事实上,如果你的GUI很复杂,requestFocus命令没有时间完成它的工作。
它是一个Android bug ...
我用某种有限状态机和线程来解决类似问题以更新焦点。
我有一个代表状态的变量,用于焦点......哪个项目必须集中。 我为每个州制定了一个主题。 在线程我做这样的事情:
item1.clearFocus(); item2.clearFocus(); item3.requestFocus();
希望你明白我想说的话。
在我的应用程序中,当我需要关注特定项目时,我只是为该项目启动“更新焦点线程”。
多数,希望你能解决你的问题。