【问题标题】:set two radio buttons in one row then next two radio is on second row and so on在一行中设置两个单选按钮,然后接下来的两个单选按钮在第二行,依此类推
【发布时间】:2013-05-09 18:17:48
【问题描述】:

我想在一行中设置 2 个两个单选按钮,然后在第二行动态设置 2 个单选按钮(以编程方式)我是 android 新手,任何人都知道它的想法或示例代码。我要做的是:

RadioGroup radiogroup = (RadioGroup)findViewById(R.id.RadioGroup01);
for(int i=0;i<10;i++) {
    RadioButton rdbtn = new RadioButton(this);
    rdbtn.setId(i);
    rdbtn.setText("test");

    LinearLayout ll = new LinearLayout(this);
    ll.setOrientation(LinearLayout.HORIZONTAL);

    ll.addView(rdbtn);
    radiogroup.addView(rdbtn);
    ll.addView(radiogroup);
    //i%2 == 0
}

【问题讨论】:

  • 尝试使用tablelayout table和tablerow

标签: android android-layout radio-button radiobuttonlist radio-group


【解决方案1】:

您可以使用以下代码:

活动代码

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        for(int row=0; row < 5; row++) 
         {
            LinearLayout ll = new LinearLayout(this);
            ll.setOrientation(LinearLayout.HORIZONTAL);
            for(int i = 0; i < 2; i++) {
                RadioButton rdbtn = new RadioButton(this);
                rdbtn.setId((row * 2) + i);
                rdbtn.setText("test " + rdbtn.getId());
                ll.addView(rdbtn);
            }
            ((ViewGroup)findViewById(R.id.radiogroup)).addView(ll);
         }
    }

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <RadioGroup
        android:id="@+id/radiogroup"
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"/>

</RelativeLayout>

屏幕输出

希望这就是你要找的。干杯!

【讨论】:

  • 如果您特别需要使用 RadioGroup,我们可以将 LinearLayout 替换为 RadioGroup。我已经更新了我的答案。它仍然提供相同的输出。
  • 任何解决方案一次只选择一个收音机
猜你喜欢
  • 1970-01-01
  • 2023-02-03
  • 1970-01-01
  • 1970-01-01
  • 2010-11-14
  • 1970-01-01
  • 2018-09-07
  • 2018-03-23
  • 1970-01-01
相关资源
最近更新 更多