如果单击“检查帐户”时缺少帐户信息,我会尝试显示一个警告对话框。
我在 Eclipse 中收到一个错误,其中 new AlertDialog.Builder(this)
说 constructor AlertDialog.Builder(new View OnClickListener(){}) is undefined
。
如果我将代码添加到 Activity 的 onCreate 中,代码工作正常。
checkButton.setOnClickListener(new OnClickListener() {
public void onClick(View Arg0){
String AccNum = null, Store = null;
final SharedPreferences settings = getSharedPreferences(CHECK_PREFERENCES, MODE_PRIVATE);
if (settings.contains("Account") == true){
AccNum = (settings.getString("Account", "default"));
Store = (settings.getString("Store", "default"));
}
if (AccNum.length() < 7) {
AlertDialog alert = new AlertDialog.Builder(this).create();
alert.setTitle("Account Information missing!");
alert.setMessage("Enter now? ");
alert.setButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
startActivity(new Intent(CheckOrder.this, GoToSetup.class));
}
});
alert.setButton2("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
return;
}
});
alert.show();
}
}
});
最佳答案
错误发生是因为 this
是您正在创建的 OnClickListener
(在调用 checkButton.setOnClickListener(new OnClickListener(){
),而不是父 Activity。如果您的 Activity 类是 ParentActivity
,请尝试以下操作:
AlertDialog alert = new AlertDialog.Builder(ParentActivity.this).create();
关于Android AlertDialog 构造函数未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6971004/