3 回答

TA貢獻1848條經驗 獲得超6個贊
像這樣在RecyclerView適配器中重寫onViewRecycled方法:
@Override
public void onViewRecycled(@NonNull ViewHolder holder) {
mDataSet[holder.getAdapterPosition()] = holder.mEditText.getText().toString();
}

TA貢獻1893條經驗 獲得超10個贊
創(chuàng)建一個具有適配器數據大小的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 關注
- 2213 瀏覽
添加回答
舉報