java - AlertDialog 显示从 RadioButton 选择的结果,让用户再次检查
问题描述
我是 Android Studio 的初学者。我不知道如何解决我的问题。我希望用户在 Radio Group 中选择他们喜欢的片段,它有自己的三个单选按钮。在他们将结果发送到另一个片段之前,我需要弹出警报对话框让用户再次检查他们选择的内容。有什么方法可以收集所有按钮结果并将其显示给用户?
public class MainActivity extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.radio_button, container, false);
RadioGroup rgdSize = view.findViewById(R.id.rdgSize);
rgdSize.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
switch (i) {
case (R.id.rdbSmall):
break;
case (R.id.rdbMedium):
break;
case (R.id.rdbLarge):
break;
}
}
});
RadioGroup rgdRank = view.findViewById(R.id.rdgRank);
rgdRank.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
switch (i) {
case (R.id.rdbFirst):
break;
case (R.id.rdbSecond):
break;
case (R.id.rdbThird):
break;
}
}
});
Button btnSend;
btnSend = view.findViewById(R.id.btnSend);
btnSend.setOnClickListener(btnSendListener);
return view;
}
private Button.OnClickListener btnSendListener = new Button.OnClickListener(){
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btnSend:
new AlertDialog.Builder(getActivity())
.setTitle("Please make sure you choose correct")
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.show();
}
}
};
}
这是我的 XML
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/rdgSize">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Size"
android:textSize="40sp"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Small"
android:textSize="20sp"
android:id="@+id/rdbSmall"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Medium"
android:textSize="20sp"
android:id="@+id/rdbMedium"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Large"
android:textSize="20sp"
android:id="@+id/rdbLarge"/>
</RadioGroup>
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintTop_toBottomOf="@+id/rdgSize"
android:id="@+id/rdgRank">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="40sp"
android:text="Rank"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="First"
android:textSize="20sp"
android:id="@+id/rdbFirst"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Second"
android:textSize="20sp"
android:id="@+id/rdbSecond"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Third"
android:textSize="20sp"
android:id="@+id/rdbThird"/>
</RadioGroup>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@+id/rdgRank"
android:text="Send"
android:id="@+id/btnSend"/>
解决方案
您可以使用
rgdRank.getCheckedRadioButtonId();
来获取选中的单选按钮 ID。
推荐阅读
- go - gqlgen:生成了不需要的解析器
- reactjs - 错误:超过最大更新深度。当组件重复调用...尝试 setState 时出现无限循环时,可能会发生这种情况
- php - php。如何按多维数组中的标签对值进行分组?
- python - 我不能在命令 doscord py 中使用 append
- java - 如何从 RANDOM 字节数组中创建图像
- r - 使用 base 或 dplyr 在几列上过滤数据框
- python - 迭代Flask中的数组
- c++ - 我想打印一个html页面,我发送文件的url并且需要在没有QPrintDialog的情况下打印出来
- kotlin - Spring JDBC - 带有 Kotlin 的 BeanPropertyRowMapper
- python - Python:超出范围