Android中Adapter中edittext,checkbox记住状态解决方案(一)
在上篇文章解决了adapter中checkbox记住状态和edittext可编辑的问题,下面谈谈怎么解决记住edittext中的内容和保证在操作加、减按钮的时候,操作的edittext对象是没有错位的问题。
一、记住edittext中的内容
解决的思路和checkbox差不多,不过还是有些差别,checkbox只有两种状态,而edittext的值是不固定的。checkbox我们是用一个enum类型的list来保存状态的,所以edittext就不能了,可以用map和实体类,我为了方便就用了hashMap。
// 用来存储editext中数据的list
private List<Map<String, String>> mData = new ArrayList<Map<String, String>>();
在初始化的时候先模拟数据
for (CartBean cartBean : list) {
mData.add(new HashMap<String, String>());
}
edittext的监听,并且有个log
mHolder.num.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
if (!TextUtils.isEmpty(s.toString())) {
if(!TextUtils.isEmpty(s.toString())){
mData.get(position).put(etValue,
s.toString());
<strong>Log.i("afterTextChanged", "position"+position);</strong>
}
}
}
});
根据list对应位置的position取出e