0
我试图访问内部类中的h
变量,但错误不断显示“无法将值赋予最终变量h
”。我尝试了快速修复,并指示我“将h转换为最终的一个元素数组”。这是什么意思?为什么我应该“将myVariable转换为最终的一个元素数组”?
int Update()
{
final int h;
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
preferences.registerOnSharedPreferenceChangeListener(new SharedPreferences.OnSharedPreferenceChangeListener() {
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if(key.equalsIgnoreCase("PINCODE"))
{
h = sharedPreferences.getInt(key,0);
}
}
});
return h;
}
}
为什么在程序到达'return h'之前,你已经调用了监听器(设置'h')?我在这里看不到代码中的逻辑。 – Tom
[为什么lambda迫使我使用单个元素数组而不是最终对象?](https://stackoverflow.com/questions/28961578/why-lambda-forces-me-to-use-single-element-array -instead-的-最终对象) – DaveNOTDavid