b.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
if(bob1i + bih1i > 4 || bob2i + bih2i > 4){
error = new AlertDialog.Builder(this);
error.setMessage("No more than four bags per team are allowed./n"
+"Please review your scores.");
error.setNeutralButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
Toast.makeText(getApplicationContext(), "Review",
Toast.LENGTH_SHORT).show();
}
});
error.show();
}
}
}
然后,如果没有错误
,我会有一个else语句我在第4行得到错误“构造函数AlertDialog.Builder(new View.OnClickListener(){})未定义”在eclipse中
答案 0 :(得分:1)
以下行:error = new AlertDialog.Builder(this);
在传递View.OnClickListener
时传递Context
。
当您进入匿名课程时,您无法将this
作为Context
传递。
答案 1 :(得分:0)
正如Scienceprodigy所说,错误是“这个”在匿名类中是未定义的。但你仍然可以做到这一点。假设您正在尝试使用类名MyActivity在某些Activity中执行此操作。就这样做:
error = new AlertDialog.Builder(MyActivity.this);
答案 2 :(得分:0)
由于使用了匿名声明,您传递了onClickListener()
而不是Context
。将其更改为:
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
if(bob1i + bih1i > 4 || bob2i + bih2i > 4){
error = new AlertDialog.Builder(getApplicationContext());
error.setMessage("No more than four bags per team are allowed./nPlease review your scores.");
error.setNeutralButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
Toast.makeText(getApplicationContext(), "Review", Toast.LENGTH_SHORT).show();
}
});
error.show();
}
}
}