在Android中,要实现AlertDialog的单选功能,你可以使用AlertDialog.Builder
结合RadioGroup
来实现。下面是一个简单的示例代码:
RadioGroup
,并为每个单选按钮设置一个唯一的ID。例如:<RadioGroup
android:id="@+id/radio_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RadioButton
android:id="@+id/radio_button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="选项1"/>
<RadioButton
android:id="@+id/radio_button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="选项2"/>
<RadioButton
android:id="@+id/radio_button3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="选项3"/>
</RadioGroup>
AlertDialog.Builder
创建一个AlertDialog,并将RadioGroup
作为自定义视图添加到AlertDialog中:AlertDialog.Builder builder = new AlertDialog.Builder(this);
LayoutInflater inflater = this.getLayoutInflater();
View dialogView = inflater.inflate(R.layout.dialog_radio_group, null);
builder.setView(dialogView);
builder.setTitle("请选择一个选项");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
RadioGroup radioGroup = dialogView.findViewById(R.id.radio_group);
int selectedId = radioGroup.getCheckedRadioButtonId();
switch (selectedId) {
case R.id.radio_button1:
// 选项1被选中时的操作
break;
case R.id.radio_button2:
// 选项2被选中时的操作
break;
case R.id.radio_button3:
// 选项3被选中时的操作
break;
}
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.show();
现在,当用户点击确定按钮时,将弹出AlertDialog并显示单选按钮。用户只能选择一个选项,当用户点击取消按钮时,将关闭AlertDialog。