如何在listview刷新时保持listview中的文本框值?
问题描述:
我有一个列表视图,每行包含一个TextView
和EditText
。 同时点击EditText
框软键盘变为打开,我输入值。 之后,当按下按钮关闭键盘板时,我的列表视图被刷新,并且所有在EditText
中输入的值也消失了。如何在listview刷新时保持listview中的文本框值?
请帮助我如何保持关键板关闭时的值?
if (ConvertViewP == null) {
LayoutInflater inflater = (LayoutInflater) mContextL.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
ConvertViewP = inflater.inflate(R.layout.add_cart_row_layout, ParentP, false);
}
答
你可以把它全部放在一个变量中。例如。在ListActivity
Map<Integer, String> mHashMap = new HashMap<Integer, String>();
有一些HashMap中凡关键将列表项和值的位置是文本 inputed到EditText
由于在其上设置的监听器。 (Counting Chars in EditText Changed Listener)。 而在ListAdapter.getView(int position, View convertView, ViewGroup parent)
中,您将使用mHashMap
,如果有的话,将按位置获得值以设置为EditText
。
如果你想在屏幕方向的变化,保留值,你可以很容易地做到这一点的辩论,因为Map
是Parcelable
,可以同时输入值后,关闭键盘被添加到Bundle
(Saving Android Activity state using Save Instance State,Android HashMap in Bundle?)
文本框本身的价值被删除,我将如何存储在共享首选项? – Vignesh 2013-03-13 13:34:34
EditText有textWatchListener。只是尝试存储数据 – 2013-03-13 13:37:22
我在代码中进行了更改,现在只在转换视图为空时im充气布局,因此文本现在可见,但值在关闭键盘时移动到某个其他行文本框中。在我的问题中看到我的代码... – Vignesh 2013-03-13 13:55:03