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创建您的复选框。