关闭

Android ListView嵌套checkbox点击事件

1475人阅读 评论(0) 收藏 举报
<CheckBox
        android:id="@+id/checkbox_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clickable="false"
        android:focusable="false" />

adapter添加:

public static Map<Integer, Boolean> isSelected;
private boolean defulat = false;

// 初始化
private void init() {
	// 这儿定义isSelected这个map是记录每个listitem的状态,初始状态全部为false。
	isSelected = new HashMap<Integer, Boolean>();
	for (int i = 0; i < mvList.size(); i++) {
		isSelected.put(i, defulat);
	}
}

holderView.checkbox = (CheckBox) convertView.findViewById(R.id.checkbox_view);
holderView.checkbox.setChecked(isSelected.get(position));

public static Map<Integer, Boolean> getIsSelected() {
		return isSelected;
	}

public static void setIsSelected(Map<Integer, Boolean> isSelected) {
		MainAdapter.isSelected = isSelected;
	}


activity的List点击事件:

private HolderView hv;

listContent.setOnItemClickListener(new OnItemClickListener() {
	@Override
	public void onItemClick(AdapterView<?> arg0, View view, int position, long id) {
		hv = (HolderView) view.getTag();
		if (hv.checkbox.isChecked())
			hv.checkbox.setChecked(false);
		else
			hv.checkbox.setChecked(true);
		boolean check = hv.checkbox.isChecked();
		MainAdapter.isSelected.put(position, check);
		}
	});



0
1

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:15485次
    • 积分:281
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:6篇
    • 译文:0篇
    • 评论:2条
    文章分类