我有可扩展项目的ListView。一切都运行良好,直到我用EditText触发对话框弹出窗口。动画刚刚停止工作之后。如果我点击其他按钮为ListView容器设置动画,一切都恢复正常。
在我的ListViewAdapter中,我在扩展FrameLayout类中获得了项目视图,当调用覆盖onMeasure方法时,动画是触发器,在软键盘出现后不会触发。
我认为这是因为没有关注列表中的特定项目? 当然,定期点击列表项工作正常。
奇怪的是,当我通过按下后退按钮隐藏软键盘时,所有内容都应该正常工作。
感谢您的任何建议。
答案 0 :(得分:3)
使用EditText触发对话框弹出时,保存列表视图的焦点:
int focusedIndex = lstView.SelectedItems[0].Index;
然后您可以使用以下命令恢复它:
lstView.Items[focusedIndex].Selected = true;
答案 1 :(得分:0)
对话框是模态的,这意味着它们会消除所有焦点并让用户只关注自己的UI。您不需要使用对话框,而是需要使用Fragment
或Activity
wrap_content
和RelativeLayout
来保持小而且位于中心。