【问题标题】:AlertDialog with both single choice and multi choice items带有单选和多选项目的 AlertDialog
【发布时间】:2013-10-19 17:15:02
【问题描述】:

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

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

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

【问题讨论】:

标签: android android-alertdialog


【解决方案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-11-29
    • 2014-05-30
    • 1970-01-01
    • 1970-01-01
    • 2011-12-13
    • 2014-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多