我有一个警告对话框,希望有三个选项,用户可以选择其中一个选项,以及用户可以打开或关闭的其他选项。
这可能吗?当我尝试添加单个和多个选项时,第二个会覆盖第一个。
AlertDialog.Builder builder = new AlertDialog.Builder(ContactListActivity.this);
builder.setTitle(R.string.sort_dialog_title);
builder.setSingleChoiceItems(R.array.sort_options_array, -1, null);
builder.setMultiChoiceItems(R.array.sort_reverse_option, null, null);
答案 0 :(得分:1)
您可以在AlertDialog中保留所需的任何内容。方法很简单。我举了一个例子,你可以得到这个想法并制作你的想法。
在AlertDialog中写下您需要的布局。你只需要用xml编写它。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:hint="Buyer's email address..."
android:inputType="textEmailAddress" />
</RelativeLayout>
比如说,上面的文件名为alert.xml。然后对alert.xml进行充气并将其设置为警报对话框的视图
AlertDialog.Builder builder = new Builder(this);
builder.setTitle("Title");
builder.setMessage("message");
LayoutInflater inflater =(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.alert, null);
final EditText email = (EditText)view.findViewById(R.id.email);
builder.setView(view);
现在设置正面和负面按钮并设置动作。
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int arg1){
// Do what you need to do
}
});
builder.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int arg1){
dialog.dismiss();
}
});
显示提醒
AlertDialog dialog = builder.create();
dialog.show();
您必须更改布局并编写所需的布局,其余部分相同。希望能帮助到你。