gpt4 book ai didi

java - 有多行时将 RadioButton 和 EditText 对齐在同一行

转载 作者:行者123 更新时间:2023-11-29 03:28:30 25 4
gpt4 key购买 nike

我正在尝试创建一个小列表(3 行),其中每行水平排列有一个 RadioButton 和一个 EditText View 。我希望单选按钮位于同一个 RadioGroup 中。我无法将单选按钮和编辑 TextView 添加到线性布局,因为 Android 会大喊单选按钮有另一个父项。我该如何解决这个问题?

我以编程方式添加每一行:

mAnswerGroup.addView(radioButton, new RadioGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
mAnswerGroup.addView(editText, new RadioGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));

最佳答案

在这种情况下,RadioGroup 将不起作用。您将不得不手动处理 3 个 RadioButtons 的已检查更改,因为您需要创建一个 LinearLayout 并在其中添加一个 RadioButtonEditText。您将必须手动取消选中其他单选按钮。

设置每个 RadioButton 的 onCheckedChangeListener 并手动处理:在您的 Activity 中实现 OnCheckedChangeListener 接口(interface),并在 onCreate() 中执行此操作:

rb_1.setOnCheckedChangeListener(this);
rb_2.setOnCheckedChangeListener(this);
rb_3.setOnCheckedChangeListener(this);

然后,重写接口(interface)的onCheckedChanged()方法:

@Override
public void onCheckedChanged(CompoundButton cb, boolean isChecked) {
if(isChecked){
//get the id of the checked button for later reference
int id = cb.getId();

/*
* do what you want here based on the id you got
*/

//uncheck the other RadioButtons
rb_1.setChecked(id == R.id.rb_1);
rb_2.setChecked(id == R.id.rb_2);
rb_3.setChecked(id == R.id.rb_3);

}
}

关于java - 有多行时将 RadioButton 和 EditText 对齐在同一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19752203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com