可扩展列表视图内的editText创建问题

时间:2013-07-16 13:53:21

标签: expandablelistview

我遇到一个问题,我在expandableListView中有edittext和spinner,在我隐藏软键盘后在editText中写了一些内容后,我的expandablelistView被回收到之前的状态,我改变的所有值都被丢失了。

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

我使用hashMap保留价值,并在扩展和折叠中保留,但我面临的唯一问题是无论何时打开软输入键盘然后关闭我的expandable都会被回收。

我认为如果在我的适配器中我可以知道软输入键盘的状态,就像它显示或隐藏一样,那么我可以保留它的状态。

1 个答案:

答案 0 :(得分:0)

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

如果您不知道要传递的是哪些元素,则很难存储所有信息。您可以在树中搜索EditText.class.equals(view.getClass())并将状态保存在地图中,也可以使用数据模型中的ID或适配器的项目。

如果你做的一切正确,你不应该关心键盘存在