2016-10-29 14 views
0

私はラジオグループを作りました。その中に私は2つの線形レイアウトを作りました。それぞれの線形レイアウトで2つのラジオボタンを追加しました。複数のラジオボタンを選択

しかし、私がアプリを実行すると、複数のラジオボタンが選択されてになるという問題があります。つまり、相互に排他的なが動作していません。続き

はRADIOGROUPはのLinearLayoutのサブクラスである

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_simple_maths_game" 
    android:layout_width="match_parent" android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.example.root.mysimplemathsgame.SimpleMathsGame" android:background="#000" 
    android:orientation="vertical" android:baselineAligned="false"> 
<LinearLayout 
    android:layout_weight="0.4"    android:orientation="horizontal" 
    android:layout_width="match_parent"  android:layout_height="0dp"> 

<TextView 
    android:text="@string/mytext"     android:id="@+id/tvText" 
    android:layout_width="wrap_content"      android:layout_height="0dp" 
    android:layout_weight="0.87"       android:textColor="#fff" 
    android:textAppearance="@style/TextAppearance.AppCompat.Large"  android:padding="20dp" 
    android:gravity="center_vertical"     android:layout_gravity="center_vertical" 
    android:textSize="32sp" /> 
<LinearLayout 
    android:layout_weight="1"     android:background="#fff" 
    android:layout_width="match_parent"  android:layout_height="0dp" 
    android:orientation="horizontal"> 
    <RadioGroup 
     android:paddingLeft="30dp"     android:id="@+id/rgOptions" 
     android:layout_width="match_parent"  android:layout_height="match_parent"> 
     <LinearLayout 
      android:layout_weight="1"     android:orientation="horizontal" 
      android:layout_width="match_parent"    android:layout_height="0dp"> 
      <RadioButton 
       android:layout_weight="1"    android:textColor="#000" 
       android:id="@+id/rb1"     android:text="@string/answer1" 
       android:layout_width="0dp"   android:layout_height="match_parent" /> 
      <RadioButton 
       android:layout_weight="1"    android:textColor="#000" 
       android:id="@+id/rb2"     android:text="@string/answer2" 
       android:layout_width="0dp"   android:layout_height="match_parent" /> 
     </LinearLayout> 
     <LinearLayout 
      android:layout_weight="1"     android:orientation="horizontal" 
      android:layout_width="match_parent"  android:layout_height="0dp"> 
      <RadioButton 
       android:textColor="#000" 
       android:layout_weight="1"    android:layout_gravity="start" 
       android:id="@+id/rb3"     android:text="@string/answer3" 
       android:layout_width="0dp"   android:layout_height="match_parent" /> 
      <RadioButton 
       android:textColor="#000" 
       android:layout_weight="1"    android:layout_gravity="end" 
       android:id="@+id/rb4"     android:text="@string/answer4" 
       android:layout_width="0dp"   android:layout_height="match_parent" /> 
     </LinearLayout> 
    </RadioGroup> 
</LinearLayout> 
<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="match_parent"  android:layout_height="wrap_content"> 
    <Button 
     android:layout_weight="1" 
     android:text="@string/end"    android:id="@+id/bEnd" android:layout_gravity="center_horizontal" 
     android:layout_width="match_content"   android:layout_height="wrap_content" /> 
</LinearLayout> 

+0

私はあなたのボタンが線形レイアウトでラップされているので、それはあると思います。ラジオボタンをラジオグループの中に直接配置し、それが動作するかどうかを確認してください – firmanslash

+2

[異なるLinearLayoutsからRadioButtonをグループ化する方法は?](http://stackoverflow.com/questions/10461005/how-to-group-radiobutton-from-different - 線形レイアウト) – jamesjaya

+0

radiogroupにはラジオボタンだけが含まれています。レイアウトをラジオボタンに入れてラジオボタンを押しても、それはうまくいきません。レイアウトを削除して別のラジオグループを作成し、そのラジオグループ –

答えて

1

私のXMLファイルです。 RadioGroupは、グループとして機能するために、直接の子としてRadioButtonだけを含むことができます。レイアウトを内部に配置すると、レイアウトと同様に動作し、複数のラジオボタンを選択できます。したがって、質問に対する答えはLinearLayoutを削除します。あなたがオリエンテーションを持っているならば、方向のRadioGroupはそれの中に属性を持っています。

0

はこれを試してみてください....

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/activity_simple_maths_game" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:baselineAligned="false" 
android:orientation="vertical" 
android:weightSum="2"> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="0.5" 
    android:orientation="horizontal"> 

    <TextView 
     android:id="@+id/tvText" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical" 
     android:gravity="center_vertical" 
     android:padding="20dp" 
     android:text="My Text" 
     android:textAppearance="@style/TextAppearance.AppCompat.Large" 
     android:textColor="#000" 
     android:textSize="32sp" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" 
    android:orientation="horizontal"> 

    <RadioGroup 
     android:id="@+id/rgOptions" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingLeft="30dp"> 

     <RadioButton 
      android:id="@+id/rb1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="answer1" 
      android:textColor="#000" /> 

     <RadioButton 
      android:id="@+id/rb2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="answer1" 
      android:textColor="#000" /> 
    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

     <RadioButton 
      android:id="@+id/rb3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="answer1" 
      android:textColor="#000" /> 


     <RadioButton 
      android:id="@+id/rb4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="answer1" 
      android:textColor="#000" /> 

    </LinearLayout> 

    </RadioGroup> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="0.5" 
    android:orientation="horizontal"> 

    <Button 
     android:id="@+id/bEnd" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:layout_weight="1" 
     android:text="end" /> 
</LinearLayout> 

関連する問題