1

デフォルトの設定で設定が表示される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」値を取得します。 それを行った後、プログラムを終了して再起動しても、期待どおりに動作します。設定に正しい値を保存します。

私には何か考えがありますが、なぜそれがとても奇妙に機能しているのでしょうか? ありがとう!!

4

0 に答える 0