デフォルトの設定で設定が表示されるAndroidアプリケーションを開発しました。このようなもの:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="Voice settings">
<CheckBoxPreference
android:title="Voice"
android:defaultValue="true"
android:summary="Enable / disable voice in application"
android:key="settings_voice" />
</PreferenceCategory>
</PreferenceScreen>
そして、私はそれをアクティビティから使用します:
SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
if (SP.getBoolean("settings_voice", true)) {...}
設定画面に少なくとも1回行った後、正常に動作します。 しかし!最初にアプリケーションをデバイスにインストールした後、設定表示に (1 回) 移動する限り、このパラメーターは常に「false」値を取得します。 それを行った後、プログラムを終了して再起動しても、期待どおりに動作します。設定に正しい値を保存します。
私には何か考えがありますが、なぜそれがとても奇妙に機能しているのでしょうか? ありがとう!!