在 Android 应用程序中动态添加单选按钮

2023-12-12

我需要动态添加单选按钮。单选按钮可以是 3、4、5 或 6,它会水平添加,一行最多包含 3 个单选按钮。

如果超过 3 个,那么它将位于单选按钮上方行的下方,如网格视图中所示。我的单选按钮代码如下,但它在一行中显示所有单选按钮,这意味着它隐藏了单选按钮。

主要.xml:

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

   <TextView
 android:id="@+id/TextView01"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="Choose Your Favorite Actress" >
  </TextView>

 <RadioGroup
android:id="@+id/RadioGroup01"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
 </RadioGroup>
 <Button
android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit" >
 </Button>
</LinearLayout>

Java 类是:

  @Override
  public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);

       DisplayRadioButton();
  }


  public void DisplayRadioButton() {
       for(int i=0;i<10;i++) {
           RadioGroup radiogroup = (RadioGroup)findViewById(R.id.RadioGroup01);
           RadioButton rdbtn = new RadioButton(this);
           rdbtn.setId(i);
           rdbtn.setText(text[i]);
           radiogroup.addView(rdbtn);
  }

}

请尝试以下方式:

1)在你的xml中删除无线电集团。动态创建它

RadioGroup radiogroup[];
RadioButton rdbtn[];
LinearLayout linear[]; 

radiogroup = new RadioGroup[9/3];
rdbtn = new RadioButton[9];
linear = new LinearLayout[9/3];

......
int count = 0; // integer flag

for(int i=0;i<9;i++){

  if the value of i is equal to 3 multiple then increase count by 1
         // sett linear[count]'s orientation is horizontal.

         root_layout.addView(linear[count]);
         radiogroup[count] = new RadioGroup(this);
         linear[count].addView(radiogroup[count]);  // add radio group to linear layout

       add radio button to radio group.

          rdbtn[i] = new RadioButton(this);
          rdbtn[i].addView(radiogroup[count]);


}

我希望你能得到解决。注意数组索引越界异常。

你的 xml 可能看起来像:

<LinearLayout
           android:id= rootlayout
           ..... // the child linearlayout
                     .. . radio group
                        ... radio button
 </LinearLayout>   
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Android 应用程序中动态添加单选按钮 的相关文章

随机推荐

  • 在空手道中从 JSON 响应中的数组获取最大值

    我有以下 Json 作为 API 调用的响应 location name London region City of London Greater London country United Kingdom lat 51 52 lon 0
  • contentEditable 元素中的拖放事件

    当将某些内容放入 contentEditable 元素中 拖动后 时会触发什么事件 我说的是普通的旧式拖放 而不是 HTML5 拖放 其中任何元素都可以拖动 用例很简单 页面上有一个 contentEditable div 用作编辑器 用户
  • Tensorflow 2.0 - AttributeError:模块“tensorflow”没有属性“Session”

    当我执行命令时sess tf Session 在 Tensorflow 2 0 环境中 我收到如下错误消息 Traceback most recent call last File
  • 使用 Turbo C++ 3.0 处理键盘中断

    我有一个项目 那是一个简单的游戏 落块 游戏区域被视为一个网格 其大小为 20x20 屏幕顶部会有掉落的方块 底部有一个英雄 他会射击方块 游戏的目标是在方块到达底线之前将其射出 他始终坚守在底线 每当用户按下键盘的空格键时 我都会生成一个
  • 将鼠标悬停在另一个元素上更改元素样式

    我有三个元素 我需要通过将鼠标悬停在其他两个元素上来更改一个元素的样式 html div class pagination span class step links if page obj has previous div class n
  • webkit 中忽略 document.open("text/plain") 格式(safari、chrome)

    我正在使用 document open text plain 和 document write 从 JavaScript 创建页面 要呈现的文本是多行制表符分隔的文本 在Chrome 13 0 782 220 m和Safari 5 0 5中
  • 查找字符串中反斜杠的出现次数

    如果我的字符串是 aud ios 我如何检查它是否存在 in it 我尝试使用preg match string 但它不起作用 实现这一目标的正确方法是什么 对于这样简单的事情 您不需要正则表达式 像这样的字符串函数strpos 应该足够了
  • 如何捕获完整的 tableView ios 屏幕截图

    我有一个有 30 行的 tableView 并且在 tableView 的顶部还有一个视图 不在 tableview 标题中 我想捕获屏幕的完整屏幕截图 包括视图和 tableview 的所有行 但我只能能够捕获表视图和视图的可见行 请帮助
  • 获取父目录的相对路径

    我有一个场景 我想获取返回特定父目录的路径 这是一个示例文件夹结构 something 是一个文件夹 index php components header php footer php pages somePage php somePag
  • 尝试在空对象引用上调用接口方法“int android.database.Cursor.getCount()”[重复]

    这个问题在这里已经有答案了 我确实有一个让我头疼的问题 我通过自定义内容提供程序将我的城市的一些图像存储在 sqlite 数据库中 但是 当我运行我的应用程序时 我得到一个空光标 Caused by java lang NullPointe
  • 从 Scala (shark-shell) 访问 Shark 表 (Hive)

    I have shark 0 8 0其运行于hive 0 9 0 我可以通过调用在 Hive 上进行编程shark 我创建了一些表并向它们加载了数据 现在 我尝试使用这些表访问数据Scala 我调用了Scala外壳使用shark shell
  • Android - adb tcpip 错误

    我想使用以下方式连接到 Android 设备adb通过网络 我熟悉如何使用 ADB over TCP 连接到 Android 与https developer android com guide topics usb index html并
  • MonoTouch MVVM与实例变量的交叉绑定

    这听起来可能真的很愚蠢 但我就是无法绑定到实例变量 字符串类型 来工作 在我视图的 xib 中 我创建一个文本字段作为 IB 中的出口 然后我可以将其绑定到我的 viewModel 的字符串属性 但是 它不允许我以相同的方式将视图的字符串变
  • C#中相对路径到绝对路径?

    我有 xml 文件 其中包含图像的 href 文件路径 例如 images image jpg href 包含相对路径 现在 我需要提取图像的 href 并将它们转换为文件系统中的绝对路径 我知道 GetFullPath 方法 但我尝试了它
  • Typescript 数组:使用混合类型推理

    打字稿版本 3 0 3 我正在为侧边栏导航菜单创建一个模型 项目可以是如下所述的两种类型之一 type SidebarItems Array
  • Delphi XE ISAPI WebBroker 文件上传

    我需要一些帮助来接受 Delphi XE2 中 ISAPI 上的文件上传 在 Delphi 2007 中 我使用 Shiv 的 TMsMultipartParser 它可以 100 工作 尝试在 XE2 中使用它确实有效 据我所知 内容长度
  • 自定义 python 数据库记录器,具有循环导入

    我正在尝试创建自己的日志处理程序来记录到数据库模型 它扩展了logging Handler import logging from logging import Handler from logger models import Searc
  • 寻找如何使用 Google Sheets API FilterCriteria 对象的示例

    我想了解如何构建AddFilterViewRequest在 Google 表格 API 中 然而 我似乎无法在任何编程语言中找到任何很好的示例来演示它的使用方式 具体来说 我想了解FilterCriteria对象 以及我需要设置的内容hid
  • 在配备 Android ICS 的 Galaxy note 1 上,EditText 提示不会以阿拉伯语显示

    我有一个阿拉伯语提示 我想在对话框中使用的 EditText 中设置 它对于许多设备都可以正常工作 除了具有 Android ICS 的 Galaxy note 1 Note 1 我将手机语言转换为阿拉伯语 因此它显示了阿拉伯语提示 2 编
  • 在 Android 应用程序中动态添加单选按钮

    我需要动态添加单选按钮 单选按钮可以是 3 4 5 或 6 它会水平添加 一行最多包含 3 个单选按钮 如果超过 3 个 那么它将位于单选按钮上方行的下方 如网格视图中所示 我的单选按钮代码如下 但它在一行中显示所有单选按钮 这意味着它隐藏