Интерфейс OnEditTextChanged
public interface OnEditTextChanged {
void onTextChanged(int position, String charSeq);
}
Затем вам нужно включить это в конструктор адаптера.
В файле Adapter.java
private List<DataHolder> mDataSet;
private OnEditTextChanged onEditTextChanged;
public Adapter(List<DataHolder> myData, OnEditTextChanged onEditTextChanged) {
mDataSet = myData;
this.onEditTextChanged = onEditTextChanged;
}
@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
holder.anameTxtView.setText(mDataSet.get(position).getDname());
holder.abalanceTxtView.setText(mDataSet.get(position).getDbalance());
holder.editTextLeft.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
onEditTextChanged.onTextChanged(position, charSequence.toString());
}
@Override
public void afterTextChanged(Editable editable) {}
});
holder.editTextRight.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
onEditTextChanged.onTextChanged(position, charSequence.toString());
}
@Override
public void afterTextChanged(Editable editable) {}
});
}
и вызовите адаптер в своей деятельности следующим образом
mAdapter = new Adapter(holderList, new OnEditTextChanged() {
@Override
public void onTextChanged(int position, String charSeq) {
//change list data of particular position
}
});