0

for ループを使用してビューに RadioButtons を追加しています。各 RadioButton に一意の ID を設定したいと考えています。

for (int item = 0; item < 5; item++) {
    child = new RadioButton(this);
    itemRadioGroup.addView(child);
    child.setId(item);
}

Toast.makeText(getApplicationContext(), 
        String.valueOf(child.getID()), Toast.LENGTH_SHORT).show();

最初のボタンの ID を 1、2 番目のボタンを 2、3 番目のボタンを 3 などに設定します。しかし、トースト メッセージで ID を表示しようとすると、設定した ID ではなくガベージ値が表示されます。IDを正しく設定するにはどうすればよいですか?

4

1 に答える 1

1

0は整数ではなく、ボタンのIDを0として指定しているためだと思います.IDは正の整数のみにすることができます..

  RadioButton child[]=new RadioButton[5];
  for (int item = 1; item <= 5; item++) {
 child[i]= new RadioButton(this);
 itemRadioGroup.addView(child[i]);
 child[i].setId(item);
 Toast.makeText(getApplicationContext(),child.getID()+ " ", Toast.LENGTH_SHORT).show();
 }
//gets the checked radiobuttons ids

for (int item = 1; item <= 5; item++) {
if(child[i].isChecked()){

 Toast.makeText(getApplicationContext(),child[i].getID()+ " ", Toast.LENGTH_SHORT).show();

 }
}
于 2012-05-26T04:53:58.567 に答える