Android - Check RadioButton ID in a RadioGroup with LinearLayout(Android - 使用 LinearLayout 检查 RadioGroup 中的 RadioButton ID)
问题描述
有没有办法在这个布局中获得选中的单选按钮
?因为 rg.getCheckedRadioButtonId()
不适用于此布局.我无法获得每个 radiobuttons ID
.这就像我所有的 radio button
都在我的 radio Group
Is there any possible way to get the selected radio button
in this layout? because rg.getCheckedRadioButtonId()
not working on this layout. I can't get each of my radiobuttons ID
. It's like all my radio button
are out of my radio Group
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/rg"
android:gravity="center"
android:layout_centerVertical="true"
android:layout_alignParentStart="true">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton
android:id="@+id/rad1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"/>
<RadioButton
android:id="@+id/rad2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton
android:id="@+id/rad3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"/>
<RadioButton
android:id="@+id/rad4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"/>
</LinearLayout>
</RadioGroup>
所以我所做的就是这样,但我只能得到一个radiobutton
的ID.如何获取我的 radiobutton
的所有 ID 并获取选择的内容?
so what i did is like this, but I can only get the ID of one radiobutton
. How can I get all ID of my radiobutton
and get what is selected?.
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int radioButtonId = rg.getCheckedRadioButtonId();
if(rg.getCheckedRadioButtonId()!= -1){
RadioButton selectedans = (RadioButton) findViewById(radioButtonId);
String selectedansText = selectedans.getText().toString();
if (selectedansText == answer[position]) {
//SelectedansText match with answer
}
if(selectedansText != answer[position]) {
//selectedansText not match with answer
}
rg.clearCheck();
if (position < question.length) {
tv.setText(question[position]);
r1.setText(opts[position * 4]);
r2.setText(opts[position * 4 + 1]);
r3.setText(opts[position * 4 + 2]);
r4.setText(opts[position * 4 + 3]);
} else {
Intent intent = new Intent(grade_four_post_test.this, grade_four_post_results.class);
startActivity(intent);
}
}
else
{
Toast.makeText(grade_four_post_test.this, "Choose Answer",
Toast.LENGTH_SHORT).show();
}
}
}
);
推荐答案
查看这个我在工作室做的答案,希望对你有帮助,
Check this answer i have done in my studio, hope this helps,
public class StackOne extends AppCompatActivity {
private RadioButton rb1, rb2, rb3, rb4;
private RadioGroup rg;
private String selectedType = "";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.stack_one);
rb1 = (RadioButton) findViewById(R.id.rad1);
rb2 = (RadioButton) findViewById(R.id.rad2);
rb3 = (RadioButton) findViewById(R.id.rad3);
rb4 = (RadioButton) findViewById(R.id.rad4);
rg = (RadioGroup) findViewById(R.id.rg);
GetSelectedRadioButton();
}
private void GetSelectedRadioButton() {
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (group.getCheckedRadioButtonId()) {
case R.id.rad1:
selectedType = "rButton1";
rb1.setChecked(true);
Toast.makeText(StackOne.this,"Radiobutton 1 checked",Toast.LENGTH_LONG).show();
break;
case R.id.rad2:
selectedType = "rButton2";
rb2.setChecked(true);
Toast.makeText(StackOne.this,"Radiobutton 2 checked",Toast.LENGTH_LONG).show();
break;
case R.id.rad3:
selectedType = "rButton2";
rb3.setChecked(true);
Toast.makeText(StackOne.this,"Radiobutton 3 checked",Toast.LENGTH_LONG).show();
break;
case R.id.rad4:
selectedType = "rButton2";
rb4.setChecked(true);
Toast.makeText(StackOne.this,"Radiobutton 4 checked",Toast.LENGTH_LONG).show();
break;
}
}
});
}
}
结帐此了解更多详情.
这篇关于Android - 使用 LinearLayout 检查 RadioGroup 中的 RadioButton ID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Android - 使用 LinearLayout 检查 RadioGroup 中的 RadioButton ID
基础教程推荐
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01