1

以下のコードで作成されたチェックボックスのチェック状態を取得する方法を見つける必要があります。

for (int i = 0; i < cnt; i++) {
                    cb = new CheckBox(getApplicationContext());
                    TextView txt = new TextView(getApplicationContext());
                    final LinearLayout ll2 = new LinearLayout(
                            PollActivity.this);
                    ll2.setOrientation(LinearLayout.HORIZONTAL);
                    ll2.addView(txt);
                    ll2.addView(cb);
                    txt.setText(PersianReshape
                            .reshape(last_poll_array[i][1]));
                    txt.setTypeface(face);
                    ll.setGravity(Gravity.RIGHT);
                    ll2.setGravity(Gravity.RIGHT);
                    ll.addView(ll2);

                }
                sc.addView(ll);

任意のガイダンスをいただければ幸いです。

4

5 に答える 5

4

このようにチェックボックスがチェックされているかどうかを確認するには、forループを使用する必要があると思います

cb.isChecked()==true;

すべてのチェックボックスに対して、整数配列を使用して、true の場合は「0」、false の場合は「1」などの値を保存します。

これをファイル、SharedPrefrences、または CoreData に保存して、次にアプリケーションを実行するときに同じ値を保持することができます。

于 2013-03-14T07:45:56.737 に答える
2

次のように ll2 の子を確認できます。

boolean oneChecked = false;
View v = null;
for(int i=0; i<ll2.getChildCount(); i++) {
    v = ll2.getChildAt(i);
    if (v instanceof CheckBox) {
        if (((CheckBox) v).isChecked()) {
            oneChecked = true;
            break;
        }
    }
}
if (oneChecked) {
    // Do whatever you like if one CheckBox is checked
}
于 2013-03-14T07:40:58.587 に答える
0

このコードを使用すると、checkBox の ID を格納できます。Michael Schmidt のコードを開発しました。どうもありがとう、マイケル!!

ArrayList<Integer> check = new ArrayList<Integer>();

for(int k=0;k<ll.getChildCount();k++){
            View v = ll.getChildAt(k);
            if(v instanceof CheckBox){
                if(((CheckBox)v).isChecked()){
                    check.add(ll.getChildAt(k).getId());
                }
            }
        }
于 2015-07-27T09:24:39.170 に答える