Android - 失去对ListView中Item的关注

时间:2013-06-27 11:41:25

标签: android listview focus listview-adapter

我有可扩展项目的ListView。一切都运行良好,直到我用EditText触发对话框弹出窗口。动画刚刚停止工作之后。如果我点击其他按钮为ListView容器设置动画,一切都恢复正常。

在我的ListViewAdapter中,我在扩展FrameLayout类中获得了项目视图,当调用覆盖onMeasure方法时,动画是触发器,在软键盘出现后不会触发。

我认为这是因为没有关注列表中的特定项目? 当然,定期点击列表项工作正常。

奇怪的是,当我通过按下后退按钮隐藏软键盘时,所有内容都应该正常工作。

感谢您的任何建议。

2 个答案:

答案 0 :(得分:3)

使用EditText触发对话框弹出时,保存列表视图的焦点:

int focusedIndex = lstView.SelectedItems[0].Index;

然后您可以使用以下命令恢复它:

lstView.Items[focusedIndex].Selected = true;

答案 1 :(得分:0)

对话框是模态的,这意味着它们会消除所有焦点并让用户只关注自己的UI。您不需要使用对话框,而是需要使用FragmentActivity wrap_contentRelativeLayout来保持小而且位于中心。