在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。