【发布时间】:2017-09-04 07:36:07
【问题描述】:
在我的android 代码中,我需要将edittext 放在recyclerview 中并保存使用TextWatcher 输入的值。为此,我使用了此处建议的自定义 TextWatcher。
private class MyCustomEditTextListener implements TextWatcher {
int position;
public void updatePosition(int position)
{
this.position=position;
}
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i2,
int i3) {}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i2,
int i3) {}
@Override
public void afterTextChanged(Editable editable) {}}
updatePosition 是从 onBindViewHolder 调用的。我将 edittext 内容从 afterTextChanged 保存到数据模型中。
我现在的情况是我使用 MyCustomEditTextListener 作为内部类。但是在多个活动中需要相同的使用逻辑。我怎样才能重写这个类,这样我就不必在每个回收器适配器中复制它。
在 afterTextChanged() 方法中,我使用如下内容
modelList.get(position).setQuantity(editable.toString());
其中 modelList 是“模型”对象的 ArrayList。但是我的问题是每个适配器中的模型类都不同。
【问题讨论】:
-
这类问题最好在Code Review提出
标签: java android android-recyclerview code-reuse textwatcher