xml設定ファイルから長い値を取得するための次のコードがあります。
SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
long longBreak = Integer.parseInt(getPrefs.getString("breakTime", "8000"));
long shortBreak = Integer.parseInt(getPrefs.getString("breakTime", "5000"));
long workTime = Integer.parseInt(getPrefs.getString("workTime", "10000"));
何らかの理由で、LogCatショーの「SharedPreferencegetPrefs = ....」の行にエラーがあり、長い値をロードする前にAndroidアプリケーションが壊れます...。
私は次のように私の好みのxmlを持っています、
<ListPreference
android:entries="@array/workList"
android:entryValues="@array/workTimes"
android:key="workTime"
android:summary="Choose Work Time"
android:title="Work Time" />
<ListPreference
android:entries="@array/breakList"
android:entryValues="@array/breakTimes"
android:key="breakTime"
android:summary="Choose Break Time"
android:title="Break Time" />
そして私の配列値は次のとおりです、
<string-array name="workList">
<item>25 Minutes</item>
<item>10 Seconds</item>
</string-array>
<string-array name="breakList">
<item>15 Minutes</item>
<item> 5 Minutes</item>
<item>8 Secs</item>
<item>5 Secs</item>
</string-array>
<string-array name="workTimes">
<item>1500000</item>
<item>10000</item>
</string-array>
<string-array name="breakTimes">
<item>900000</item>
<item>300000</item>
<item>8000</item>
<item>5000</item>
</string-array>
私はこれと同じコードをdiffアプリでテストしましたが、正常に動作します。前もって感謝します...