【发布时间】:2014-11-18 18:41:58
【问题描述】:
我正在编写一个静态方法,但在从内部方法访问变量时遇到了问题。我在 Eclipse 中收到以下错误:
最终的局部变量 ret 不能赋值,因为它是在封闭类型中定义的
这是我的代码:
public static boolean noInternetAlertDialog(Context ctx) {
final boolean ret;
AlertDialog.Builder builder;
builder = new AlertDialog.Builder(ctx);
builder.setCancelable(false);
builder.setTitle("Error");
builder.setMessage("Connection error");
builder.setPositiveButton("Retry", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which)
{
dialog.dismiss();
ret = false;
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
ret = false;
}
});
AlertDialog dialog = builder.create();
dialog.show();
if (ret)
return true;
else
return false;
}
【问题讨论】:
-
仅使用声明尝试一下:(即 final boolean ret=false;)并且不要在你的内部方法中设置它
-
我在
ret = false;收到此错误,而不是在final boolean ret; -
没有。请看下面我的回答
标签: android variables boolean local final