1

我有一个警报对话框,希望有三个用户可以选择其中一个的选项,以及一个用户可以打开或关闭的附加选项。

这可能吗?当我尝试添加单选和多选项目时,第二个会覆盖第一个。

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);
4

1 回答 1

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&apos;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();
    

您只需更改布局并编写所需的布局,其余部分相同。希望能帮助到你。

于 2013-10-19T08:56:47.350 回答