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)