目前大多数 listview 中添加 checkbox,都是实现点击 listview 的某一子项来实现子项中 checkbox 的选中与否。
本文实现的功能是将 listview 子项中的 checkbox 与 listview 分离出来,即点击 listview 的子项实现的是查看
listview 子项的内容,点击子项中的 checkbox 来实现 checkbox 的选中与否
本文没有实现 listview 的分页滚屏效果
以下是 activity 的代码:下面还有 xml 文件
package com.test;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
public class ListView_CheckBoxActivity extends Activity {
int scroll_num = 10;
ViewHolder holder;
HashMap<Integer,Boolean> isSelected;
MyAdapter adapter;
ArrayList<HashMap> data;
HashMap map;
ListView mListView;
Button btn_all;
Button btn_none;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mListView = (ListView)findViewById(R.id.main_listview);
btn_all = (Button)findViewById(R.id.main_all);
btn_none = (Button)findViewById(R.id.main_none);
//初始化数据
init_data();
//设置按钮点击事件
init_btn();
//设置 listview
init_listview();
}
//初始化数据
public void init_data(){
data = new ArrayList<HashMap>();
评论7