ListView单选模式

利用listview原生的方法,实现列表单选 1. 在布局文件中添加android:choiceMode="singleChoice"


或者在java代码中添加
lvNoJiaru.setChoiceMode(ListView.CHOICE_MODE_SINGLE); // 设置listview单选 lvNoJiaru.setAdapter(relatedJobAdapter);

重点,setChoiceMode要放在setAdapter方法之前 2.在listview的点击事件中这么写
lvNoJiaru.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView adapterView, View view, int i, long l) { lvNoJiaru.setItemChecked(i, true); //设置选中的item relatedJobAdapter.notifyDataSetChanged(); // 通知adapter刷新布局 } });

3.在adapter中这么写
@Override public View getView(int position, View convertView, ViewGroup viewGroup) { if (convertView == null) { convertView = LayoutInflater.from(context).inflate(R.layout.item_related_job, null); holder = new ViewHolder(convertView); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } // 通过isItemChecked方法,判断哪一个item被选中,然后进行相关逻辑处理 if (this.listView.isItemChecked(position)) { holder.radioCheck.setChecked(true); } else { holder.radioCheck.setChecked(false); } return convertView; }

【ListView单选模式】OK,搞定
效果如图所示
单选效果图.gif

    推荐阅读