2016-04-02 18 views
0

私は2つのラジオグループを持っています.1つは性別、1つはユニットタイプです。ユーザは両方のRadioGroupsの値を選択する必要がありますが、最初に選択したグループの値はsecontグループの値に影響します。1つの選択可能な値を持つ複数のラジオボタン

たとえば、ユーザーが男性でメトリックユニットタイプを使用している場合、1つのレイアウトが表示されます。彼が男性だが帝国単位を使用している場合、別のレイアウトが彼に示される。

私の質問は、RadioButton onClickメソッドの中でRadioButton onClickメソッドを持つ方法ですか?

申し訳ありませんが、これをよりうまく説明する方法はわかりません。

ここでは、コードです:

public void dialogBodyFatMuskarciRadioButtonKliknut(View view){ 
      boolean checked = ((RadioButton) view).isChecked(); 
      switch (view.getId()){ 
       case R.id.radioButtonDialogBodyFatSpolMuski: 
        if (checked) 
         public void dialogBodyFatRadioMetrickaJedinica(View view){ 
        boolean checked = ((RadioButton) view).isChecked(); 
        switch (view.getId()){ 
         case R.id.radioButtonDialogBodyFatSpolMuski: 
          if (checked) 
       } 
     } 

答えて

0

didntのテストこの、しかし、あなたは、このようなロジックに何かを実装することができます。あなたのマニフェストに

<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/gender_RadioGroup" 
    <RadioButton android:id="@+id/male" 
     android:text="@string/male" 
     android:onClick="onGenderRadioButtonClicked"/> 
    <RadioButton android:id="@+id/female" 
     android:text="@string/female" 
     android:onClick="onGenderRadioButtonClicked"/> 
</RadioGroup> 

<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/unit_type_RadioGroup" 
    <RadioButton android:id="@+id/metric_unit_type" 
     android:text="@string/metric_unit_type" 
     android:onClick="onMetricRadioButtonClicked"/> 
    <RadioButton android:id="@+id/imperial_unit_type" 
     android:text="@string/imperial_unit_type" 
     android:onClick="onMetricRadioButtonClicked"/> 
</RadioGroup> 

あなたはあなたのクラス内view_genderview_unit_typeのビューのインスタンスを維持する必要があります。 onCreateはfindViewByIdを使用してそれを行うのに適しています。

protected void onCreate(Bundle savedInstanceState) {  
    view_gender = (RadioGroup) findViewById(R.id.gender_RadioGroup); 
    view_unit_type = (RadioGroup) findViewById(R.id.unit_type_RadioGroup); 
} 

public void onGenderRadioButtonClicked(View view) { 
    if(((RadioButton) view).isChecked()) 
     chooseLayout(view, view_unit_type); 
} 

public void onMetricRadioButtonClicked(View view) { 
    if(((RadioButton) view).isChecked()) 
     chooseLayout(view_gender, view); 
} 

public void chooseLayout(View View1, View View2){ 
    if (View1.getId()==R.id.male && View2.getId()==R.id.metric_unit_type) 
     // show male metric type layout 
    else if (View1.getId()==R.id.male && View2.getId()==R.id.imperial_unit_type) 
     // show male imperial type layout 
    else if (View1.getId()==R.id.female && View2.getId()==R.id.metric_unit_type) 
     // show female metric type layout 
    else 
     // show female imperial type layout 
} 
+0

@DaxHRこれが正常に実行された場合の更新はありますか? –

関連する問題