我需要更改内部类中的变量,并且我得到了臭名昭着的"不能引用在不同方法中定义的内部类中的非final变量"错误.
void onStart(){
bt.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
int q = i;
}
});
}
Run Code Online (Sandbox Code Playgroud)
我很快创建了一个包含我想要改变的所有内容的类,并在内部类之外创建了类的最终版本
class temp{
int q;
}
void onStart(){
final temp x = new temp();
bt.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
x.q = i;
}
});
}
Run Code Online (Sandbox Code Playgroud)
这似乎是我需要的,它的工作原理,但我想知道这是如何正确解决问题.另外,我真的很讨厌使用这个词temp来命名我的课程.是否有一个实际的编程术语,以便我为我的课程创建一个更具描述性的名称?