ListView 中item 单选

大家工作中可能会用到ListView 中item的单选:
实现步骤:
1,在Adapter getView 设置 对数据源的遍历判断点击时Postion和数据源中list比较;
2.在listView 的OnItemCLick点击事件中 设置 单选
3,通知数据源改变。 notifyDatasetChanged(); 刷新数据;

代码:

public void setChecked(int positon) {

        for (int i = 0; i < list.size(); i++) {

            if (i == positon) {
                list.get(i).put("isChecked", true);
            } else {
                list.get(i).put("isChecked", false);
            }

        }

    }

    public int getChecked() {
        int postion = -1;

        for (int i = 0; i < list.size(); i++) {

            if ((Boolean) list.get(i).get("isChecked")) {

                return i;
            }

        }

        return postion;

    }




adapter = new MyAdapter(list);
    mListView.setAdapter(adapter);

    mListView.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            // TODO Auto-generated method stub
            Log.e("adapter", "position====" + position);

            adapter.setChecked(position);
            adapter.notifyDataSetChanged(); //刷新数据。

        }
    });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值