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