我正在创建一个应用程序,它根据数据库中的条目数动态地创建复选框。
代码运行良好。并创建若干复选框。但我想动态地将onClick Action Listener添加到CheckBoxes中。如何做到这一点
我把代码贴在这里:
SQLiteDatabase db = this.getReadableDatabase();
String countQuery = "SELECT * FROM " + TABLE_NAME;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(countQuery, null);
int maxCount = cursor.getCount();
CheckBox[] check = new CheckBox[maxCount];
cursor.moveToFirst();
int checkboxid = 100;
int alarm_id;
for(int i=0;i<maxCount;i++)
{
check[i]= new CheckBox(this);
setCheckBoxId(i+maxCount);
}
现在如何添加actionlistener到这些动态创建的复选框
check[i]= new CheckBox(this);
check[i].setOnClickListener(this);
在创建文本框时,您将需要根据复选框id进行检查或为文本框设置标记。
check[i].setTag(someIdentifier);
则使用
方法@Override
public void onClick(View v) {
if (v.getTag.equals(someIdentifier)){
//do stuff here
}
}
在check[i]= new CheckBox(this);
下面添加这个,你的复选框将有一个all clicklistener
check[i].setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// your code to be executed on click :)
}
});