Android - 如何检查用户是否从AlertDialog按下OK按钮

时间:2015-01-24 03:37:11

标签: android

我有AlertDialog包含两个按钮确定并取消。

我如何检查用户是否按下确定并执行某些操作

声明字符串

private String newtext = "";

AlertDialog框代码

            AlertDialog.Builder builder = new AlertDialog.Builder(PrintDemo.this);
            builder.setTitle("Title");

            // Set up the input
            final EditText input = new EditText(PrintDemo.this);
            // Specify the type of input expected; this, for example, sets the input as a password, and will mask the text
            input.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
            builder.setView(input);

            // Set up the buttons
            builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    newtext = input.getText().toString();
                }
            });
            builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.cancel();
                }
            });


            builder.show();

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

正在您OnClickListener的正面按钮。

当用户点击您标记为“OK”的按钮时,将会执行侦听器中的onClick方法。

 builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
            @Override
            public void onClick(DialogInterface dialog, int which) {
                // do all your stuff here
            }
        });

同样可以检测他们是否点击了“取消”。

听起来你已经习惯了一个阻止对话框,当你显示它时,它会返回一个int,然后你需要检查它是否正常或取消。这不是Android对话框的工作方式。您需要检查的对话框中没有返回值,所有操作都在OnClickListener个中进行。思考方面有点转变,但如果你试一试,你就会习惯它。

答案 1 :(得分:1)

当用户按下确定

时,您可以显示Toast
 builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
            @Override
            public void onClick(DialogInterface dialog, int which) {
                newtext = input.getText().toString();
                Toast.makeText(HomeActivity.this,"OK BUTTON PRESSED",Toast.LENGTH_LONG).show();
            }
        });