-1

在我的应用程序代码的某些部分中,我有一个显示 AlertDialog 以从用户那里获取值(数字)的方法。但是当我尝试将它保存在一个变量(int)中并返回它时,我得到了这个编译错误:

在此处输入图像描述

错误说:“不能在以不同方法定义的内部类中引用非最终变量bet ”

所以我尝试将 bet 作为最终变量,得到一个新错误:“无法分配最终局部变量 bet,因为它是在封闭类型中定义的”

我的想法是调用该方法,显示警报对话框,获取输入值并返回它。

4

3 回答 3

1

声明bet为全局变量。

public class SomeActivity extends Activity {
    int bet=0;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    private int betDialog() 
    {
        //some code...
    }
}
于 2012-05-30T09:44:26.120 回答
0

我发现的问题的“解决方案”是下一个:

我将需要用户输入的代码移到“onClick();”中

于 2012-05-30T16:13:45.037 回答
0

您可以简单地全局分配变量并使用它。

有关更多说明,请参见此处,

不能引用在不同方法中定义的内部类中的非最终变量

正如jon-skeet这里提到的

任何使用但未在内部类中声明的局部变量、形式方法参数或异常处理程序参数都必须声明为 final。任何在内部类中使用但未声明的局部变量必须在内部类的主体之前明确分配(第 16 节)。

于 2012-05-30T09:44:21.927 回答