我正在尝试显示AlertDialog,但是在以下行中出现了(不明确的)编译错误:
alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK", null);
我该如何设置按钮?
答案 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()。