问题设置AlertDialog

时间:2013-07-25 11:18:39

标签: android android-alertdialog

我正在尝试显示AlertDialog,但是在以下行中出现了(不明确的)编译错误:

alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK", null);

我该如何设置按钮?

3 个答案:

答案 0 :(得分:2)

            AlertDialog.Builder dlgAlert  = new AlertDialog.Builder(this);
        dlgAlert.setMessage(getResources().getString(R.string.err_connection));
        dlgAlert.setTitle(getResources().getString(R.string.err_connection_header));
        dlgAlert.setPositiveButton(getResources().getString(R.string.ok),
            new DialogInterface.OnClickListener() {
                public void onClick(final DialogInterface dialog, final int which) {
                    finish();
                }
            });
        dlgAlert.setCancelable(true);
        dlgAlert.create().show();

答案 1 :(得分:1)

 AlertDialog.Builder mAlertDialogBuilder = new AlertDialog.Builder(this.activity);

                mAlertDialogBuilderTablet.setTitle("put your title here")
                        .setMessage("put your question here")
                        .setCancelable(false)
                        .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which)                          {                                      
                                Log.i(TAG,"clicked YES");
                            }
                        })
                        .setNegativeButton("No", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                Log.i(TAG,"clicked NO");
                            }
                        });
                AlertDialog alertDialog = alertDialogBuilderTablet.create();
                alertDialog.show();

答案 2 :(得分:0)

基于此链接的Android引用

http://developer.android.com/reference/android/app/AlertDialog.html

你可以看到setButton有两种不同参数的方法

1)

public void setButton (int whichButton, CharSequence text, DialogInterface.OnClickListener listener)

2)

public void setButton (int whichButton, CharSequence text, Message msg)

所以编译器不知道你想要哪些方法你传递一个null作为第三个参数所以它会抛出一个模糊的编译器错误。

如果您希望它为null,请尝试将其作为第三个参数传递: (DialogInterface.OnClickListener) null

或者您可以使用alertDialog的专用方法setPositiveButton()和setNegativeButton()。