ListView默认点击Item同时触发onItemClick 事件 —— 虚拟点击Item

        About 需求:

        listview+checkbox 实现 单选,如果 data 的size =1,就默认选中该item。

        What should i do ?

        最初的想法是 checkbox.setChecked(true) 就可以了,这种做法 从界面上看,checkbox 的确是勾选中了,但是并没有触发ItemClick方法,更不能执行内部方法体了。

        How to do?

        直接进行判断,在size=1的时候把 ItemClick内的方法提出来不就好了,这种方法虽然可以实现,但是listview肯定有更好的方法来实现 不手动点击item,实现模拟点击item.

        It's it——performItemClick()
        请看API截图

        方法描述大致意思就是调用OnItemClickListener,执行与单击相关的所有正常操作。

        参数有三:

            view:点击的item布局;//可以通过listView.getAdapter().getView(0, null, null)获取

            position: 点击的item的position;

            id:点击的item的id;//可以通过listView.getAdapter().getItemId(0) 获取

        How to use?

listView.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

	Toast.makeToast("u click"+position,0).show();

    }
});
	//虚拟点击,若只有一个item ,则默认选中
if (dataList.size()==1) {
    listView.performItemClick(listView.getAdapter().getView(0, null, null), 0, listView.getAdapter().getItemId(0));
}

    注:此方法只有在setOnItemClickListener之后调用才会执行此方法。

-------------------------------------------------------THE END--------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值