最近在项目开发中遇到一坑,使用recyclerview显示多个edittext时,在edittext输入内容后滑动列表结果原edittext内的内容没了然后显示在了其他position条目中。
具体解决方法:
在recyclerview的adapter的getview方法中,给edittext setTag和TextChangedListener;
1.Map<Integer,String> mMap = new HashMap<~>();//定义一个map用于存放position位置edittext输入的内容
2. editText.setTag(position);
3.editText.addTextChanged(new TextWatcher(){
@OverRide
public void afterTextChaged(Editable s){
//定位当前输入框
if((int)(editText.getTag)) == position && editText.hasFocus()){
mMap.put(position,s.toString());
}
}
});
4.editText.setText(mMap.get(position));