首页 文章

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

提问于
浏览
1

我动态创建复选框,我想将该复选框绑定到listview . 我怎样才能做到这一点?

在这里,我给我的代码 -

public class HomeActivity扩展ListActivity {CheckBox [] chk; ListView lv1; public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);的setContentView(R.layout.main); LV1 =(ListView中)findViewById(R.id.listTasks); tv1 =(TextView)findViewById(R.id.tvMsg);

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

Cursor cr = db.getUncompletedTask(); //我的数据库函数,用于检索值以创建复选框if(cr.moveToFirst()){do {String [] str = new String [2]; STR [0] = cr.getString(0); STR [1] = cr.getString(1); al.add(STR); } while(cr.moveToNext()); } startManagingCursor(cr); String [] tasks = new String [] ;

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}

}

2 回答

  • 2

    如果您使用带有复选框的android的默认列表视图,该怎么办?通过使用 :

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

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

  • 1

    您可以使用其行包含CheckBox的自定义ListView . 创建自己的扩展ArrayAdapter的适配器,它的重写方法getView创建你的复选框 .

相关问题