Я пытаюсь добавить настройки в свое приложение, но не могу заставить его работать.
Вот мой res / xml / preferences.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<ListPreference
android:key="format"
android:title="Saving Format"
android:summary="Select the file format"
android:defaultValue=".jpg"
android:entries="@array/format"
android:entryValues="@array/formatValues" />
</PreferenceScreen>
Вот мои значения / массив.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="format">
<item name=".jpg">JPEG</item>
<item name=".gif">GIF</item>
</string-array>
<string-array name="formatValues">
<item name=".jpg">.jpg</item>
<item name=".gif">.gif</item>
</string-array>
</resources>
Вот мои предпочтения активности:
package com.sass.recorder;
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class MyPreferences extends PreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
Вот основной класс активности:
...imports..
public class MyApp extends Activity {
...Initializations..
SharedPreferences preferences;
.....
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
....
private OnClickListener mOneShotListener = new OnClickListener() {
public void onClick(View v) {
//evaluate preferences and change the path variable
if (preferences.getString("format", ".jpg") == ".jpg") {
path = "/sdcard/output/" + editText1.getText() + ".jpg";
} else if (preferences.getString("format", ".gif") == ".gif"){
path = "/sdcard/output/" + editText1.getText() + ".gif";
}
}
}
}
}
Работает настройки предпочтений (из менюкоторый я не вставил здесь), но кнопка, которая имеет оценку предпочтений, просто не будет нажимать или реагировать.Иногда отладчик показывает исключение NullPointerException в строке if (preferences.getString("format", ".jpg") == ".jpg")
Есть идеи, что я делаю неправильно?Спасибо!