自定义ListView中的微调器在从另一个活动返回时冻结

时间:2012-03-28 13:44:50

标签: android listview spinner freeze

大家好,这是我的问题。 我的应用程序列表视图(位于选项卡窗口小部件中)包含各种类型的行。我在设置这个问题时遇到了很多问题,这是另一个1.请参阅here代码,基本上保持不变。 我使用另一个活动(自定义实现的ES文件浏览器),它是一个文件浏览器对话框来打开文件。文件中的数据将发送到列表视图。 当它显示列表并且我点击微调器时,屏幕变暗并冻结。如果我按下后退按钮,变暗消失,列表视图变为可点击但旋转器仍然没有。唯一的出路是如果我翻转到另一个选项卡小部件并再次返回(有两个单独的小部件),则微调器将再次工作。

我应该说如果我不从其他活动加载文件,微调器就可以正常工作。 所以我想换句话说,在切换和杀死活动时会出现焦点问题。

我希望你能提供帮助。

EDIT 经过一些尝试后,有时在从浏览器加载文件后,它将返回到黑色屏幕,其中列表视图在那里但不可见。 例如,您可以单击它并打开编辑器。

1 个答案:

答案 0 :(得分:0)

嗨,好吧又花了很长时间,但这是问题所在。 自定义列表视图

this.setDescendantFocusability(FOCUS_BEFORE_DESCENDANTS);

所以我所要做的就是设置

holder.techniquespinner.setDescendantFocusability(parent.FOCUS_BEFORE_DESCENDANTS); 

为旋转器和瞧;我没试过但它应该放在xml文件中。

感谢任何看过的人。

EDIT 废话我很快就说了。它仍然无法正常工作。 鳍状肢内有2个tabwidgets。 如果从浏览器返回到它离开的标签而不翻转鳍状肢它就可以了。 翻转一次,然后再返回浏览器不起作用。 我甚至不确定发布什么代码。这很复杂。

最终编辑

这是我修复它的方式。

flipper.showNext();

再回来。

它以某种方式刷新视图使其重新聚焦并再次使用。

它不漂亮但它有效。