-5

我有带有可扩展项目的 ListView。在我用 EditText 触发对话框弹出之前,一切都很好。就在它动画停止工作之后。如果我点击其他按钮为 ListView 容器设置动画,一切都会恢复正常。

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

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

奇怪的是,当我通过按后退按钮隐藏软键盘时,一切都正常工作。

感谢您的任何建议。

4

2 回答 2

3

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

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

然后,您可以使用以下方法恢复它:

lstView.Items[focusedIndex].Selected = true;
于 2013-06-29T22:21:23.027 回答
0

对话框是模态的,这意味着它们会带走所有的焦点,让用户只关注他们自己的 UI。您不需要使用对话框,而是需要使用 aFragment或 a Activitywithwrap_content和 aRelativeLayout来保持它的小并在中心。

于 2013-07-04T16:45:56.527 回答