ListPreference
のエントリ値を整数として保存する方法を理解する上で問題があります。ListPreference値が文字列として格納されていない
<array name="list_preference_sorting_options_entries">
<item>@string/list_preference_sorting_options_entry_popularity</item>
<item>@string/list_preference_sorting_options_entry_top_rated</item>
</array>
<array name="list_preference_sorting_options_entry_values">
<item>@string/list_preference_sorting_options_entry_value_popularity</item>
<item>@string/list_preference_sorting_options_entry_value_top_rated</item>
</array>
は私が文字列値を使用していますことを理解:entries
とentryValues
属性は、以下の配列で定義されている
<ListPreference
android:defaultValue="@string/list_preference_sorting_options_default_value"
android:title="@string/list_preference_sorting_options_title"
android:key="@string/list_preference_sorting_options_key"
android:entries="@array/list_preference_sorting_options_entries"
android:entryValues="@array/list_preference_sorting_options_entry_values"/>
を...:次のように今のところ、私は私のListPreference
を定義していますlist_preference_sorting_options_entry_values
アレイ内。しかし、私のような、別の方法で私の配列を定義した場合:私は、私のアプリのクラッシュを設定アクティビティにアクセスしようとした場合、その後、私のアプリ内...
<array name="list_preference_sorting_options_entry_values">
<item>0</item>
<item>1</item>
</array>
。私は(彼らは文字列として格納されているにもかかわらず)SharedPreferences
からint型としての私のエントリの値を読み取るしようとした場合
さらに、次のように:
int methodFlag = preferences.getInt(getString(R.string.list_preference_sorting_options_key), 0);
...そして私はその私ができるJavaエラーを受け取りますStringをint型にキャストしません。私が直接arrays.xmlを通じて整数値を格納するための方法はあり
String preferenceMethodFlagString = preferences.getString(getString(R.string.list_preference_sorting_options_key),getString(R.string.list_preference_sorting_options_default_value));
int preferenceMethodFlag = Integer.parseInt(preferenceMethodFlagString);
:適切intとしてエントリ値を得るために、私はgetString()
メソッドを使用して、int型にそれを解析する必要があります?この実装を(arrays.xmlを使用して)使用すると、Stringを解析してintにする必要がありますか?
SharedPreferences.Editor
が使用されている場合、整数値はListPreference
のエントリ値に格納されます。これは整数値を格納する唯一の手段ですか?
まだ回答がありません。誰もこれに任意の入力を持って起こるだろうか? – coolDude
エントリ値を配列ではなく整数配列に入れるとどうなりますか? –
ああ、あなたはできないhttp://stackoverflow.com/questions/11346916/listpreference-use-string-array-as-entry-and-integer-array-as-entry-values-does –