我已經設置了我的設置活動,當運行我的模擬時,我可以編輯我的設置..關閉應用程序並重新啓動它,並保持不變。 現在,當我想從一個活動textview引用這個時,我得到了我第一次寫入到strings.xml中的密鑰,它是unitnumkey,但設置活動存儲它很好..Android設置和首選項
我在這裏錯過了什麼?
這裏是pref_general.xml
android:key="@string/pref_file_key_unit_number"
android:title="@string/pref_title_unit_number"
android:defaultValue="@string/pref_default_unit_number"
android:selectAllOnFocus="true"
android:inputType="phone"
android:singleLine="true"
android:maxLines="1" />
的strings.xml
<string name="pref_header_general">General</string>
<string name="pref_title_unit_number">Unit SMS Number</string>
<string name="pref_default_unit_number">0756745745</string>
<string name="pref_file_key_unit_number">unitnumKey</string>
的TextView活動
String phoneNum = getString(R.string.pref_file_key_unit_number);
final TextView mTextView = (TextView) findViewById(R.id.textView);
mTextView.setText(phoneNum);
settingsactivity
public static class GeneralPreferenceFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref_general);
setHasOptionsMenu(true);
bindPreferenceSummaryToValue(findPreference("unitnumKey"));
}
private static void bindPreferenceSummaryToValue(Preference preference) {
// Set the listener to watch for value changes.
preference.setOnPreferenceChangeListener(sBindPreferenceSummaryToValueListener);
// Trigger the listener immediately with the preference's
// current value.
sBindPreferenceSummaryToValueListener.onPreferenceChange(preference,
PreferenceManager
.getDefaultSharedPreferences(preference.getContext())
.getString(preference.getKey(), ""));
}
什麼是bindPreferenceSummaryToValue?它看起來像你必須使用不同的庫,而不是Android的PreferenceFragment庫,這種類型的信息總是有幫助 –
我正在使用一個settingsactivity模板...我添加了一些關於bindpref的代碼 –
對不起,請參閱我的更新2那裏我在setText中使用'myValue' –