13

在此处输入图像描述
我想在两个单选第二单选按钮 B 下方添加一个居中的按钮,当我选中一个选项并单击验证时,会发生一个动作。请提供任何帮助

final CharSequence[] photo = {"A","B"};

AlertDialog.Builder alert = new AlertDialog.Builder(this);

alert.setTitle("Select Gender");

alert.setSingleChoiceItems(photo,-1, new 

DialogInterface.OnClickListener()

{

    @Override
    public void onClick(DialogInterface dialog, int which) 
    {
        if(photo[which]=="A")

        {

            gen="B";
        }

        else if (photo[which]=="B")

        {

            gen="B";

        }
    }

});
alert.show();
4

4 回答 4

17

尝试这样做,您只需选择默认选择并在对话框中添加一个整数 - >inputSelection

final CharSequence[] items = { " HDMI IN ", " AV IN" };

        // Creating and Building the Dialog
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Select Input Type");

        builder.setSingleChoiceItems(items,inputSelection,
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int item) {
                        inputSelection = item;
                        levelDialog.dismiss();
                    }
                });
        levelDialog = builder.create();
        levelDialog.show();
于 2013-09-25T13:35:52.537 回答
13

我制作自定义对话框的方法

http://www.helloandroid.com/tutorials/how-display-custom-dialog-your-android-application从这里参考

  1. 创建一个 xml 自定义对话框

       <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
    
        <RadioButton
            android:id="@+id/rd_!"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="A" />
    
        <RadioButton
            android:id="@+id/rd_2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/rd_!"
            android:text="B" />
    
        <Button
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/rd_2"
            android:layout_centerInParent="true"
            android:text="OK" />
        </RelativeLayout>
    

和 activity.java 文件

  Dialog dialog = new Dialog(Dialogeshow.this);
    dialog.setContentView(R.layout.custom_dialoge);
    dialog.setTitle("This is my custom dialog box");
    dialog.setCancelable(true);
    // there are a lot of settings, for dialog, check them all out!
    // set up radiobutton
    RadioButton rd1 = (RadioButton) dialog.findViewById(R.id.rd_);
    RadioButton rd2 = (RadioButton) dialog.findViewById(R.id.rd_2);

    // now that the dialog is set up, it's time to show it
    dialog.show();
于 2013-02-21T07:17:44.977 回答
5

您可以使用以下方法显示对话框

public void showDialog(Context context, String title, String[] btnText,
        DialogInterface.OnClickListener listener) {

    final CharSequence[] items = { "One", "Two" };

    if (listener == null)
        listener = new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface paramDialogInterface,
                    int paramInt) {
                paramDialogInterface.dismiss();
            }
        };
    AlertDialog.Builder builder = new AlertDialog.Builder(context);
    builder.setTitle(title);

    builder.setSingleChoiceItems(items, -1,
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int item) {

                }
            });
    builder.setPositiveButton(btnText[0], listener);
    if (btnText.length != 1) {
        builder.setNegativeButton(btnText[1], listener);
    }
    builder.show();
}

调用部分可以如下完成:

showDialog(MainActivity.this, "Your Title", new String[] { "Ok" },
    new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {

            if(which==-1)
            Log.d("Neha", "On button click");
            //Do your functionality here
        }
    });
于 2013-02-21T07:23:11.573 回答
1

您可以使用 向对话框添加单个按钮Builder.setNeutralButton

于 2013-02-21T06:18:11.090 回答