我被困在我试图让我的项目读取偏好值(来自 ListPreference 列表),然后在基本的数学减法实例中使用该值。问题是我的 Java 代码没有看到“seek”首选项,但默认值是(我尝试使用 3000 和现在 0 的默认值)。我错过了什么吗,这里有已知或未知的错误吗?
这是我的 Java 代码块,问题在其中表现出来:
public static final String PREF_FILE_NAME = "preferences";
seekback.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View view) {
try {
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
Integer storedPreference = preferences.getInt("seek", 0);
(mediaPlayer.getCurrentPosition()-storedPreference);
} catch (Exception e) {
e.printStackTrace();
}
}
});
以下是我的项目的其他一些代码位:
从首选项文件:
<ListPreference
android:entries="@array/seconds"
android:entryValues="@array/seconds_values"
android:summary="sets the seek interval for the seekback and seekforward buttons"
android:title="Seek Interval"
android:defaultValue="5000"
android:key="@string/seek">
</ListPreference>
从字符串文件:
<string name="seek">seek</string>
从数组文件:
<resources>
<string-array
name="seconds">
<item>Five seconds</item>
<item>Fifteen seconds</item>
<item>Thirty seconds</item>
<item>Sixty seconds</item>
</string-array>
<string-array
name="seconds_values">
<item>5000</item>
<item>15000</item>
<item>30000</item>
<item>60000</item>
</string-array>
</resources>
如果您需要查看更多代码来解决这个问题,请告诉我
提前感谢您提供的任何帮助。我已经为这个问题工作了几个小时,我被烧死了,第二双眼睛会非常感激。