关闭

ListView 里面的EditText 添加监听addTextChangedListener的时候传递当前的position的方法

793人阅读 评论(1) 收藏 举报
分类:

ListView 里面的EditText 添加监听addTextChangedListener的时候传递当前的position的方法

因为默认的回调方法里面是没有view的,所以我们重写一个新的类MyTextWatch 继承TextWatch,然后将viewHolder传进去


holder.itemCurrentNumber.setTag(position);
holder.itemCurrentNumber.addTextChangedListener(new MyTextWatch(holder));

public class MyTextWatch implements TextWatcher {

    private CartViewHolder viewHolder;

    public MyTextWatch(CartViewHolder viewHolder) {
        this.viewHolder = viewHolder;
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {

    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

    }

    @Override
    public void afterTextChanged(Editable s) {
        int currentNumber = Integer.parseInt(s.toString());
        int position = (int)viewHolder.itemCurrentNumber.getTag();
        data.get(position).setCurrentNumber(currentNumber);
    }
}



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:900362次
    • 积分:14701
    • 等级:
    • 排名:第830名
    • 原创:570篇
    • 转载:272篇
    • 译文:37篇
    • 评论:118条
    最新评论