ListView+EditText

来源:互联网 发布:handler 闹钟 源码 编辑:程序博客网 时间:2024/05/18 01:06

情景还原:项目遇到这样一个问题:手机端要从服务器下载一个列表,手机端的使用者逐个检查无误后提交到服务器。如果服务器端没有数据,手机端就把表格完善,提交给服务器。

涉及到ListView和EditText和网络通信。下载表单和提交不在此文讨论之列。此文只涉及ListView+EditText的实现。





主要代码:initData

/** * 初始化数据 * @param keyList * @param valueList */public void initData(List<String> keyList, List<String> valueList) {this.keyList = keyList;this.valueList = valueList;}

setData

/** * 设置editText里面的数据 * @param data */public void setData(List<String> data) {if (valueList != null) {valueList.clear();valueList = null;this.valueList = data;}}

getData

<span style="white-space:pre"></span>/** * 得到EditText里面填写的数据 * @return */public List<String> getData() {return valueList;}

最关键的

/**
* 经测试,这里使用OnFocusChangeListener效果能出来,
* 使用OnTouchListener+TextWatch没有调试成功,
* 如果有调试成功的可以告诉我一下,谢谢
*/

holder.mEditText.setOnFocusChangeListener(new OnFocusChangeListener() {@Overridepublic void onFocusChange(View v, boolean hasFocus) {if (!hasFocus) {final int position = v.getId();final EditText editText = (EditText) v;valueList.set(position, editText.getText().toString());}}});
最后别忘了再manifest.xml里面的activity里面设置:
            android:windowSoftInputMode="adjustPan"

点此下载Demo




0 0
原创粉丝点击