2016-05-12 12 views
2

私はプログラムでチェックボックスを作成しました。それぞれのためにlayout_aboveを設定する必要があります。 このコードはループで動作するので、チェックボックスはほとんど生成されませんが、idを設定する必要があります。どうすれば適切に生成できますか?IDを生成するandroid

CheckBox checkBox = new CheckBox(getApplicationContext()); 
    RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams 
     (RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 
     layoutParams.addRule(RelativeLayout.ABOVE, checkBox.getId()); 
     checkBox.setLayoutParams(layoutParams); 
     checkBox.setWidth(getScreenWidth()); 
     checkBox.setText(questions.get(questionId).answers.get(index)); 
    ll.addView(checkBox); 
+0

checkBox.setId(int);各チェックボックスにIDを設定する –

+1

[プログラムでビューにIDを割り当てるにはどうしたらいいですか?](http://stackoverflow.com/questions/8460680/how-can-i-assign-an-id-to- a-view-programmatically) –

+0

わかりません。 whileループで生成し、4-7のチェックボックスのように生成します。 –

答えて

0
checkBox.setId(checkBoxId); 

乱数を生成し、ループ内でそれをインクリメント。 これはおそらくそれを行うはずです。

1
int CHECK_BOX_ID = 1; 
CheckBox checkBox = new CheckBox(getApplicationContext()); 
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams 
    (RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 
    layoutParams.addRule(RelativeLayout.ABOVE, checkBox.getId()); 
    checkBox.setLayoutParams(layoutParams); 
    checkBox.setWidth(getScreenWidth()); 
    checkBox.setId(CHECK_BOX_ID); 
    CHECK_BOX_ID++; 
    checkBox.setText(questions.get(questionId).answers.get(index)); 
ll.addView(checkBox);