0
私は自分のアプリに環境設定を追加しようとしていますが、動作させることはできません。ここでプリファレンスの使用が正しくありません
は、ここに私の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 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>
をarray.xml私の好みの活動である:
ここ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")
私が間違っていることは何ですか? ありがとう!
javaの文字列を比較するときに "=="を使用しないでください。equalsまたはequalsIgnoreCaseメソッドを使用してください。 – Dahlgren