我有一个包含EditText的ListView。我想捕获此文本框的textchanged事件并更新其他列。
在我的customAdapter中,我做了这个
public View getView(int position, View inView, ViewGroup parent) {
View v = inView;
if (v == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.cartlistview, null);
}
EditText edQty = (EditText) v.findViewById(R.id.cartProductQuantity);
edQty.addTextChangedListener(new QtyChangedWatcher(position, v));
}
即使用户没有更改任何内容,该事件也会自行解雇。此外,当用户仅为第一行更改输入时,事件将被触发,但是对于列表视图中的所有文本框。
我做错了吗?
由于
答案 0 :(得分:0)
试试这个:
public View getView(int position, View inView, ViewGroup parent) {
View v = inView;
if (v == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.cartlistview, null);
EditText edQty = (EditText) v.findViewById(R.id.cartProductQuantity);
edQty.addTextChangedListener(new QtyChangedWatcher(position, v));
}
}
(在if条件中移动你的addTextChangedListener)