Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 带有单选按钮和验证按钮的对话框_Android - Fatal编程技术网

Android 带有单选按钮和验证按钮的对话框

Android 带有单选按钮和验证按钮的对话框,android,Android,我想在两个单选秒单选按钮B下方添加一个居中的按钮,当我选中一个选项并单击“验证”时,将执行一个操作。需要帮忙吗 final CharSequence[] photo = {"A","B"}; AlertDialog.Builder alert = new AlertDialog.Builder(this); alert.setTitle("Select Gender"); alert.setSingleChoiceItems(photo,-1, new DialogInterface.


我想在两个单选秒单选按钮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();

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

自定义对话框的我的方法

这里的参考

  • 创建一个xml自定义对话框


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

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

    要做到这一点,您只需选择默认选择并向对话框中添加一个整数->
    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();
    

    但是如何仅在按钮点击时选择单选选项请参考此网站@peter您的解决方案不支持froyo 2。2@sophia在androidmanifest文件中,将minsdk设置为8并运行代码:)不要更改任何内容我想知道如何检查单选按钮是否与您的解决方案进行了检查当我同时调用它时,哪个值是-1请解释一下当我们选择此代码中的项目时,圆圈如何显示绿色??如果没有showDialog方法,我们可以直接在某个视图的onClick listener中调用此警报对话框吗??我试过了,但圆圈没有显示为选中@Neha Dhanwani您可以添加以下行:int selectedPosition=((AlertDialog)dialog).getListView().GetCheckEditePosition();该解决方案不起作用,并且始终为-1。您是否测试了此代码并获得了正确的选定项?您应该将您的单选按钮添加到xml文件中的RadioGroup。如何添加onclicklistener@HarishReddy对于监听器:RadioButton rd1=(RadioButton)dialog.findViewById(R.id.rd_1);setOnClickListener(new View.OnClickListener(){@Override public void onClick(View v){}});
    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
            }
        });
    
    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();