0

我有一个问题,我在 expandableListView 中有 edittext 和 spinner,当我隐藏软键盘时在 editText 中写了一些东西后,我的 expandablelistView 被回收到它以前的状态,并且我更改的所有值都丢失了。

我的代码的主要问题是我的视图是通过在服务器中生成的 xml 页面生成的,所以我无法判断是否会出现 editText。

我正在使用 hashMap 保留价值,并且它在展开和折叠时保留,但我面临的唯一问题是,每当打开然后关闭软输入键盘时,我的可扩展键盘就会被回收。

我想如果在我的适配器中我可以知道软输入键盘的状态,比如显示或隐藏,那么我可能会保留它的状态。

4

1 回答 1

0

您必须保留EditText适配器中的状态。例如,添加一个更改侦听器并将其写入模型对象/DAO。你应该从你的模型中读取它onCreateView()

如果你不知道什么元素即将到来,那么将很难存储所有信息。您可以使用数据模型中的 id 或适配器的项目搜索树EditText.class.equals(view.getClass())并将状态保存在地图中。

如果你做的所有事情都正确,你不应该关心键盘的存在

于 2014-01-30T03:00:30.523 回答