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 - 最終オブジェクトの代わりに) – DaveNOTDavid