0

Android 設定の初期化に問題があります。にはPreferenceStore.initalize()、次の 2 つ
mLogoOneCheck = sharedPreferences2.getBoolean(contextWrapper.getResources().getString(R.string.preferenceKeyLogoOne), true);
mLogoTwoCheck = sharedPreferences2.getBoolean(contextWrapper.getResources().getString(R.string.preferenceKeyLogoTwo), false);
のステートメントがあります。各ステートメントの末尾にあるブール値と、それぞれのデフォルト値に注意してください。したがって、ユーザーは背景を長押しし、LiveWallpaper を選択してから、このライブ壁紙 (AE_LiveWallpaper_Test) を選択します。予想どおり、One アイコンが画面からゆっくりと落ちていきます。ユーザーがクリックするSettings -> Choose Logosと、One と Two のメニューが表示されます。問題はここにあります。両方のチェックボックスがチェックされています。1 つのボックスのみがチェックされていることを期待します。

両方のデフォルト値が true になるようにコードを変更すると、偶然にも問題はありません。 mLogoOneCheck = sharedPreferences2.getBoolean(contextWrapper.getResources().getString(R.string.preferenceKeyLogoOne), true);
mLogoTwoCheck = sharedPreferences2.getBoolean(contextWrapper.getResources().getString(R.string.preferenceKeyLogoTwo) true);

私は何を間違っていますか?

プロジェクト全体は github にあります:
https://github.com/falsedmitri/AE-LiveWallpaper_Test

コンパイルして実行するには、以下が必要です:
https://github.com/RealMayo/AndEngine(GLES2-AnchorCenter)
https://github.com/RealMayo/AndEngineLiveWallpaperExtension(GLES2-AnchorCenter)

4

0 に答える 0