【发布时间】:2021-12-19 00:36:33
【问题描述】:
我正在尝试访问内部类中的 h 变量,但一直显示错误“无法为最终变量 h 赋值”。我尝试了快速修复,它指示我“将 h 转换为最后一个元素数组”。这是什么意思?
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)?我在这里看不到您代码中的逻辑。
标签: java android arrays variables scope