0

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

代码运行良好。并创建多个复选框。但我想动态地将 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 中。

4

2 回答 2

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
                  }

        }
于 2013-03-13T10:30:53.830 回答
2

在下面check[i]= new CheckBox(this);添加这个,你的 CheckBoxes 将有一个 all clicklistener

check[i].setOnClickListener(new View.OnClickListener() {
                    public void onClick(View v) {
                        // your code to be executed on click :)
                    }
                });
于 2013-03-13T10:30:18.350 回答