0

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

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

我应该如何设置按钮?

4

3 回答 3

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();
于 2013-07-25T11:21:05.410 回答
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();
于 2013-07-25T11:29:20.267 回答
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 作为第三个参数传递,所以它会引发一个模棱两可的编译器错误。

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

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

于 2013-07-25T11:33:28.933 回答