0

データベース内のエントリ数から動的にチェックボックスを作成するアプリケーションを作成しています。

コードは正常に実行されます。チェックボックスの数を作成します。しかし、onClick アクション リスナーを 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);
}

次に、これらの動的に作成された CheckBox に actionlistener を追加する方法を説明します。

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にすべてのクリックリスナーが含まれます

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