android如何使用自定义列表视图动态绑定复选框

android how to dynamically bind checkboxes with custom listview

我动态创建复选框,希望将该复选框绑定到ListView。我该怎么做?

我给你我的密码--

公共类HomeActivity扩展ListActivity{复选框[]CHK;ListVIEW LV1;public void oncreate(bundle savedinstanceState){super.oncreate(保存的状态);setContentView(r.layout.main);lv1=(listview)findView byid(r.id.listtasks);tv1=(textview)findview byid(r.id.tvmsg);

1
2
    db = new DBAdapter(HomeActivity.this);
    db.open();//int[] id=new int[]{Integer.parseInt(DBAdapter.ID)};

cursor cr=db.getUncompletedTask();//我的数据库函数用于检索值以创建复选框如果(cr.moveToFirst()){做{string[]str=新字符串[2];str[0]=cr.getstring(0);str[1]=cr.getstring(1);添加(STR);}while(cr.movetonext());}开始管理光标(CR);string[]tasks=new string[]dbadapter.key_todo_

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    int[] idchk=new int[al.size()];//here i am creating checkbox dynamicaly
    if (al.size() != 0) {
        chk = new CheckBox[al.size()];
        System.out.println(al.size());
        for (int i = 0; i < al.size(); i++) {
            String[] s = (String[]) al.get(i);
            System.out.println("ID:"+s[0]);
            Task_Id = Integer.parseInt(s[0]);
            Task_Nm = s[1];
            chk[i] = new CheckBox(HomeActivity.this);
            System.out.println(i +"task id"+Task_Id +"parseint"+Integer.parseInt(s[0]+chk[i].getText().toString()));
            chk[i].setId(Task_Id);
            idchk[i]=Task_Id;
            chk[i].setText(Task_Nm);
            //lv1.addView(chk[i]);        
            //setContentView(lv1);
        }

这里我可以在这里写些什么,这样动态创建的复选框将绑定到ListView}

}


如果使用android的默认listview with复选框会怎么样?使用:

1
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_checked, COUNTRIES));

其中,countries是包含要显示的项的静态最终字符串数组。


可以使用其行包含复选框的自定义ListView。创建自己的适配器扩展arrayadapter,它的重写方法getview创建您的复选框。