您的位置:首页 > 移动开发 > Android开发

Android屏蔽ListView部分Item点击事件

2017-09-23 16:26 253 查看
做个记录,一般情况我们只要处理ListView的点击事件时候只需mListView.setOnItemClickListener()即可,但是有时候有些特殊需求,某些Item是不需要添加点击事件的,比如我一个任务列表,其中未完成的任务要跳转到相应的页面,已完成的任务不可点击,这时候该怎么处理?本文记录如下:

我们在Adapter中复写下面两个方法即可实现该需求

@Override
public boolean areAllItemsEnabled() {
return false;// 所有的Item不可点击
}

@Override
public boolean isEnabled(int position) {
// 该位置判断的一个状态,比如栗子中的“已完成/未完成”
// 也可以根据位置进行拦截,第一条Item不可点击为:if (position == 0) {
if (mList.get(position).isStatus()) {
return false;// 符合条件的Item不可点击
} else {
// 拦截事件交给上一级处理
return super.isEnabled(position);
}
}


这样一来在页面中setOnItemClickListener就不用处理各种 if 和 else 了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: