动态添加onClick ActionListener到Android中的CheckBox

时间:2013-03-13 10:27:04

标签: java android

我正在创建一个应用程序,它根据数据库中的条目数动态创建复选框。

代码运行正常。并创建多个复选框。但是我想动态地将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添加到这些动态创建的CheckBox中。

2 个答案:

答案 0 :(得分:2)

以下check[i]= new CheckBox(this);添加此内容,您的CheckBoxes将具有全部clicklistener

check[i].setOnClickListener(new View.OnClickListener() {
                    public void onClick(View v) {
                        // your code to be executed on click :)
                    }
                });

答案 1 :(得分:2)

check[i]= new CheckBox(this);
check[i].setOnClickListener(this);

您需要检查复选框ID或在创建时为文本boz设置标记。

check[i].setTag(someIdentifier);

然后使用方法

@Override
public void onClick(View v) {
                 if (v.getTag.equals(someIdentifier)){
                    //do stuff here
                  }

        }