デフォルトの設定値を段階的に設定するためのすべての指示に従いましたが、機能しません。
1ºデフォルト値を設定しました:
<PreferenceCategory android:title="@string/settings_game" >
<ListPreference
android:defaultValue="1.5"
android:entries="@array/intervale_count"
android:entryValues="@array/intervale_count_values"
android:key="interval"
android:title="@string/interval" />
<ListPreference
android:defaultValue="@string/mode_normal"
android:entries="@array/mode_game"
android:entryValues="@array/mode_game_values"
android:key="mode"
android:title="@string/mode" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/settings_sound" >
<ListPreference
android:defaultValue="@string/stone"
android:entries="@array/time_sounds"
android:entryValues="@array/time_sounds_values"
android:key="time_sounds"
android:title="@string/sounds_stones" />
<ListPreference
android:defaultValue="@string/vuvucela"
android:entries="@array/gong_sounds"
android:entryValues="@array/gong_sounds_values"
android:key="gong_sounds"
android:title="@string/sounds_gong" />
</PreferenceCategory>
2º私は私の好みを取得しますMainActivity
:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
SP = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
}
しかし、プリファレンスビューを開くと、プリファレンスが選択されていません。で宣言する文字列android:defaultValue
は、のデータ配列にあるオプションの1つと同じandroid:entries
です。
注:でtrue
ブール値に変更しようとしています
PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
しかし、それでも機能しません。
アプリのデータをアンインストールして削除しようとしましたが、それでも機能しません。
編集:配列値
<string-array name="intervale_count">
<item>1</item>
<item>1.3</item>
<item>1.5</item>
<item>1.7</item>
<item>2</item>
</string-array>
<string-array name="intervale_count_values">
<item>1000</item>
<item>1300</item>
<item>1500</item>
<item>1700</item>
<item>2000</item>
</string-array>
<string-array name="mode_game">
<item>@string/mode_normal</item>
<item>@string/mode_extension</item>
<item>@string/mode_infinite</item>
</string-array>
<string-array name="mode_game_values">
<item>100</item>
<item>50</item>
<item>1000</item>
</string-array>
<string-array name="time_sounds">
<item>@string/alan</item>
<item>@string/cash_reg</item>
<item>@string/censure</item>
<item>@string/crow</item>
<item>@string/doh</item>
<item>@string/fb_noti</item>
<item>@string/achievement</item>
<item>@string/metal_gear</item>
<item>@string/duck</item>
<item>@string/pan</item>
<item>@string/drum</item>
<item>@string/stone</item>
</string-array>
<string-array name="time_sounds_values">
<item>2131099648</item> <!-- Alan -->
<item>2131099649</item> <!-- Registradora -->
<item>2131099650</item> <!-- Censura -->
<item>2131099651</item> <!-- Cuervo -->
<item>2131099652</item> <!-- DOh -->
<item>2131099653</item> <!-- FB -->
<item>2131099655</item> <!-- logro -->
<item>2131099656</item> <!--metal gear -->
<item>2131099657</item> <!-- pato -->
<item>2131099658</item><!-- sarten -->
<item>2131099660</item> <!-- tambor -->
<item>2131099659</item><!-- stone -->
</string-array>
<string-array name="gong_sounds">
<item>@string/gong</item>
<item>@string/vuvucela</item>
</string-array>
<string-array name="gong_sounds_values">
<item>2131099654</item> <!-- Gong -->
<item>2131099661</item> <!-- Vuvucela -->
</string-array>
ニーズのdefaultValue
属性ListPreference
は、入力テキストではなく値である必要があります。つまり、に渡す配列の要素ではandroid:entryValues
なく、に渡す配列の要素である必要がありますandroid:entries
。
たとえば、ゴングサウンドの設定では、android:defaultValue="2131099661"
代わりにを使用する必要がありますandroid:defaultValue="@string/vuvucela"
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加