2017-04-04 12 views
1

ラジオボタングループに入れたラジオボタンがあります。 特定のラジオボタンをクリックすると、ラジオボタンのインデックス値または選択されたインデックス値を取得する方法を教えてください。コードネーム1のラジオボタングループから現在のラジオボタンインデックス値を取得する方法は?

は、ここに私はいない現在を、以前に選択した値を取得しています上記のコードで私のコード

bg=new ButtonGroup(); 
for(i=0;i<8;i++){ 
rbt =new RadioButton(); 
rbt.setName("rbt"+i); 
radioList.add(rbt); 
} 
for(int i=0;i<radioList.size();i++){ 
    radioList.get(i).addPointerPressedListener(new ActionListener() { 
         @Override 
         public void actionPerformed(ActionEvent evt) { 
          for(int i=0;i<radioList.size();i++){ 
            Log.p("================"+bg.getSelectedIndex); 
          } 
         } 
        }); 
} 

です。ラジオボタンがイベントを処理した前の値アドバンス

答えて

1

pointerPressed

おかげで呼ばれています。代わりにaddActionListenerを使用します。これは、状態が変更された後に起動されるため、選択されたインデックスは、現在選択されているラジオボタンである必要があります。

+0

感謝をButtonGroupをだけでなく、コンテナ内のラジオボタンを追加し、以下のコードに示すように、現在のインデックスを取得するために、ButtonGroupをのgetselectedIndexを呼び出す必要があり、スティーブ・ハンナaddActionListenerは私の作品 –

1

あなたは

void testRadio(Form form) { 
     Container radioList = new Container(new BoxLayout(BoxLayout.Y_AXIS)); 
     ButtonGroup bg = new ButtonGroup(); 
     for (int i = 0; i < 8; i++) { 
      RadioButton rbt = new RadioButton(); 
      rbt.setName("rbt" + i); 
      rbt.setText("rbt" + i); 
      **radioList.add(rbt); 
      bg.add(rbt);** 
     } 
     bg.setSelected(0); 
     form.add(radioList); 
     Button getIndexButton = new Button("Get Radio Index"); 
     getIndexButton.addActionListener(new ActionListener() { 

      @Override 
      public void actionPerformed(ActionEvent evt) { 
//    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 
       Log.p("================" + bg.getSelectedIndex()); 
      } 
     }); 
     form.add(getIndexButton); 

    } 
関連する問題