3 回答
TA贡献1848条经验 获得超6个赞
像这样在RecyclerView适配器中重写onViewRecycled方法:
@Override
public void onViewRecycled(@NonNull ViewHolder holder) {
mDataSet[holder.getAdapterPosition()] = holder.mEditText.getText().toString();
}
TA贡献1893条经验 获得超10个赞
创建一个具有适配器数据大小的String数组。
例如: String[] texts = new String[dataSize];
在适配器内部的onBindViewHolder方法上,将TextChangedListener添加到Textview。
例如:-
@Override
public void onBindViewHolder(Viewholder holder, int position) {
//binding data from array
holder.yourEditText.setText(texts [position]);
holder.yourEditText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start,
int before, int count) {
//setting data to array, when changed
texts [position] = s.toString();
}
@Override
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
//blank
}
@Override
public void afterTextChanged(Editable s) {
//blank
}
});
}
- 3 回答
- 0 关注
- 2192 浏览
添加回答
举报