2016-05-03 2 views
0

Ich möchte wie unten Bild machen.Nehmen Sie Radio-Tasten in zwei linearen Layout in Radio-Gruppe nicht arbeiten

enter image description here

Ich war versuchen, unter Verwendung einer linearen Layout aber in Radio-Gruppe ihr Netzwerk zu entwerfen. In Radio-Gruppe haben nur zwei Ausrichtung vertikal oder horizontal, wie kann ich so erreichen.

Sein sollte in derselben Radiogruppe sein, weil seine Wahl derselben Frage ist.

danke im voraus.

+0

Sie 2 verschiedene Radio-Gruppe verwenden und es im Code zu behandeln, um sicherzustellen, dass nur ein Optionsfeld aus beiden Gruppen ausgewählt werden kann –

+0

Sie können in [diesen Link] schauen (http://stackoverflow.com/a/ 43735636/2715073) beantwortet von mir in einem anderen Beitrag. – Pankaj

+0

Sie können [in diesem Link] (http://stackoverflow.com/a/43735636/2715073) von mir in einem anderen Beitrag beantwortet sehen. – Pankaj

Antwort

2

Versuchen Sie dies.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 

android:orientation="vertical" > 

<RadioGroup 
    android:id="@+id/radioGroup1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 

    android:orientation="horizontal"> 

    <RadioButton 
     android:id="@+id/radio0" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="RadioButton" /> 

    <RadioButton 
     android:id="@+id/radio1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="RadioButton" /> 


</RadioGroup> 

<RadioGroup 
    android:id="@+id/radioGroup2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal"> 

    <RadioButton 
     android:id="@+id/radio3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="RadioButton" /> 

    <RadioButton 
     android:id="@+id/radio4" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="RadioButton" /> 


</RadioGroup> 

</LinearLayout> 

Java-Code:

private OnCheckedChangeListener listener1 = new OnCheckedChangeListener() { 

    @Override 
    public void onCheckedChanged(RadioGroup group, int checkedId) { 
     if (checkedId != -1) { 
      m_group2.setOnCheckedChangeListener(null); // remove the listener before clearing so we don't throw that stackoverflow exception(like Vladimir Volodin pointed out) 
      m_group2.clearCheck(); // clear the second RadioGroup! 
      m_group2.setOnCheckedChangeListener(listener2); //reset the listener 
      // Log.e("XXX2", "do the work"); 

      int chkId1 = m_group1.getCheckedRadioButtonId(); 
      int chkId2 = m_group2.getCheckedRadioButtonId(); 
      int realCheck = chkId1 == -1 ? chkId2 : chkId1; 

      RadioButton rb = (RadioButton)findViewById(realCheck); 
      selected_mode = rb.getText().toString(); 
      Log.i("Selected_Mode", "" + selected_mode); 
     } 
    } 
}; 

private OnCheckedChangeListener listener2 = new OnCheckedChangeListener() { 

    @Override 
    public void onCheckedChanged(RadioGroup group, int checkedId) { 
     if (checkedId != -1) { 
      m_group1.setOnCheckedChangeListener(null); 
      m_group1.clearCheck(); 
      m_group1.setOnCheckedChangeListener(listener1); 
      //Log.e("XXX2", "do the work"); 

      int chkId1 = m_group1.getCheckedRadioButtonId(); 
      int chkId2 = m_group2.getCheckedRadioButtonId(); 
      int realCheck = chkId1 == -1 ? chkId2 : chkId1; 

      RadioButton rb = (RadioButton)findViewById(realCheck); 
      selected_mode = rb.getText().toString(); 
      Log.i("Selected_Mode", "" + selected_mode); 
     } 
    } 
}; 

Aufruf der Hörer OnCreate()

m_group1.setOnCheckedChangeListener(listener1); 
m_group2.setOnCheckedChangeListener(listener2); 
+0

ich will es in nur einer Gruppe lieben. –

+0

Warum willst du eine Gruppe? –

+0

es ist meine Option von ans darin, dass ich nur eine Option überprüft haben, also –

Verwandte Themen