android中的多行单选按钮?单选、按钮、android

2023-09-07 09:20:20 作者:_性感不是骚。

我在多行中有单选按钮时遇到问题

I am having problem in having radioButtons in multiple Rows

这是我的 xml

           <RadioGroup android:layout_width="fill_parent"
               android:layout_height="wrap_content"
                android:orientation="vertical"
                 >
  <RadioGroup android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
         >
      <RadioButton
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:id="@+id/radio_one0Id"
          android:textSize="13sp"
          android:layout_weight="1"
          android:onClick="oneRadioButtonClicked"
       />
      <RadioButton
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
            android:textSize="13sp"
          android:text="5%" 
          android:id="@+id/radio_one5Id"
          android:layout_weight="1"
          android:onClick="oneRadioButtonClicked"
         />
      <RadioButton
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:text="10%" 
          android:textSize="13sp"
          android:layout_weight="1"
          android:id="@+id/radio_one10Id"
          android:onClick="oneRadioButtonClicked"
       />
      <RadioButton
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:text="20%" 
          android:layout_weight="1"
          android:textSize="13sp"
          android:onClick="oneRadioButtonClicked"
          android:id="@+id/radio_one20Id"
         />
      <RadioButton
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:text="35%" 
          android:id="@+id/radio_one35Id"
          android:textSize="13sp"
          android:onClick="oneRadioButtonClicked"
          android:layout_weight="1"
       />
      <RadioButton
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:text="50%" 
          android:textSize="13sp"
          android:id="@+id/radio_one50Id"
          android:onClick="oneRadioButtonClicked"
          android:layout_weight="1"
         />

      </RadioGroup>

        <RadioGroup android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
         <RadioButton
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:text="65%" 
          android:textSize="13sp"
          android:id="@+id/radio_one65Id"
          android:onClick="oneRadioButtonClicked"
          android:layout_weight="1"
       />
      <RadioButton
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:text="75%" 
          android:textSize="13sp"
          android:layout_weight="1"
          android:id="@+id/radio_one75Id"
          android:onClick="oneRadioButtonClicked"
         />
       <RadioButton
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:text="85%" 
          android:textSize="13sp"
          android:id="@+id/radio_one85Id"
          android:layout_weight="1"
          android:onClick="oneRadioButtonClicked"
         />
        <RadioButton
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
         android:textSize="13sp"
          android:text="95%" 
          android:id="@+id/radio_one95Id"
          android:layout_weight="1"
          android:onClick="oneRadioButtonClicked"
         />
         <RadioButton
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:text="100%" 
          android:id="@+id/radio_one100Id"
          android:textSize="13sp"
          android:layout_weight="1"
          android:onClick="oneRadioButtonClicked"
         />
                       </RadioGroup>
      </RadioGroup>

这是代码

public void oneRadioButtonClicked(View view) {
    // Is the button now checked?
    boolean checked = ((RadioButton) view).isChecked();

    switch(view.getId()) {
        case R.id.radio_one0Id:
            if (checked)
                one = "0";
            break;
        case R.id.radio_one5Id:
            if (checked)
                one = "5";
            break;
        case R.id.radio_one10Id:
            if (checked)
                one = "10";
            break;
        case R.id.radio_one20Id:
            if (checked)
                one = "20";
            break;
        case R.id.radio_one35Id:
            if (checked)
                one = "35";
            break;
        case R.id.radio_one50Id:
            if (checked)
                one = "50";
            break;
        case R.id.radio_one65Id:
            if (checked)
                one = "65";
            break;
        case R.id.radio_one75Id:
            if (checked)
                one = "75";
            break;
        case R.id.radio_one85Id:
            if (checked)
                one = "85";
            break;
        case R.id.radio_one95Id:
            if (checked)
                one = "95";
            break;
        case R.id.radio_one100Id:
            if (checked)
                one = "100";
            break;
         default:
             System.out.println("default");
    }
}

这看起来像

它将选择 2 行中的两个按钮,我希望它只选择这些行中的一个按钮,感谢您的帮助

it will select both the buttons in 2 rows, i want it to select only one button in those rows, thanks for any help

推荐答案

放一个垂直方向的radiogroup并添加两个LinearLayouts:

Put one radiogroup with vertical orientation and add two LinearLayouts:

           <RadioGroup android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:orientation="vertical"
              >

  <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_weight="1" >

      <RadioButton
          android:id="@+id/radio_one0Id"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_weight="1"
          android:onClick="oneRadioButtonClicked"
          android:textSize="13sp" />

      <RadioButton
          android:id="@+id/radio_one5Id"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_weight="1"
          android:onClick="oneRadioButtonClicked"
          android:text="5%"
          android:textSize="13sp" />

      <RadioButton
          android:id="@+id/radio_one10Id"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_weight="1"
          android:onClick="oneRadioButtonClicked"
          android:text="10%"
          android:textSize="13sp" />

      <RadioButton
          android:id="@+id/radio_one20Id"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_weight="1"
          android:onClick="oneRadioButtonClicked"
          android:text="20%"
          android:textSize="13sp" />

      <RadioButton
          android:id="@+id/radio_one35Id"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_weight="1"
          android:onClick="oneRadioButtonClicked"
          android:text="35%"
          android:textSize="13sp" />

      <RadioButton
          android:id="@+id/radio_one50Id"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_weight="1"
          android:onClick="oneRadioButtonClicked"
          android:text="50%"
          android:textSize="13sp" />

  </LinearLayout>

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

         <RadioButton
             android:id="@+id/radio_one65Id"
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:layout_weight="1"
             android:onClick="oneRadioButtonClicked"
             android:text="65%"
             android:textSize="13sp" />

         <RadioButton
             android:id="@+id/radio_one75Id"
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:layout_weight="1"
             android:onClick="oneRadioButtonClicked"
             android:text="75%"
             android:textSize="13sp" />

         <RadioButton
             android:id="@+id/radio_one85Id"
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:layout_weight="1"
             android:onClick="oneRadioButtonClicked"
             android:text="85%"
             android:textSize="13sp" />

         <RadioButton
             android:id="@+id/radio_one95Id"
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:layout_weight="1"
             android:onClick="oneRadioButtonClicked"
             android:text="95%"
             android:textSize="13sp" />

         <RadioButton
             android:id="@+id/radio_one100Id"
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:layout_weight="1"
             android:onClick="oneRadioButtonClicked"
             android:text="100%"
             android:textSize="13sp" />

     </LinearLayout>

  </RadioGroup>