Я застрял в точке, где я пытаюсь заставить свой проект прочитать значение предпочтения (из списка ListPreference), а затем использовать это значение в базовом математическом экземпляре вычитания. Проблема в том, что мой Java-код не видит предпочтения «искать», и все же значение по умолчанию - это (я пробовал значение по умолчанию с 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>
дайте мне знать, если вам нужно увидеть больше кода, чтобы понять это
Заранее благодарим за любую помощь, которая может быть предложена. Я работал над этой проблемой в течение нескольких часов, и я сгорел, вторая пара глаз на это была бы очень признательна.