我有一个带有 EditTextPreference 的 Preferenceactivity。
我正在寻找的是从片段访问 EditTextPreference 的插入文本的命令。
到目前为止我所拥有的:
SharedPreferences preferences = this.getActivity().getSharedPreferences("pref", Context.MODE_PRIVATE);
String name = preferences.getString("edit_text_preference_name", "Default");
我总是从 EditTextPreference 中获得“默认”而不是我实际插入的文本。
提前致谢。
编辑:
来自 SettingsActivity.java
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public static class BarcodePreferenceFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref_barcode);
setHasOptionsMenu(true);
bindPreferenceSummaryToValue(findPreference("edit_text_preference_barcode"));
bindPreferenceSummaryToValue(findPreference("edit_text_preference_name"));
}
}
首选项.xml
<EditTextPreference
android:capitalize="words"
android:defaultValue="@string/pref_default_display_name"
android:key="edit_text_preference_name"
android:maxLines="1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="@string/pref_default_display_name" />