Обновляет фронтальную активность, когда я редактирую или просто нажимаю кнопку ОК на любом входе в окне настроек, а затем я должен сначала скрыть фронтальную активность.Это дает мне ноль на кнопке и в настройках xml я дал правую клавишу, а также defaultValue.
Итак .. сценарий: я иду на экран настроек, нажимаю, чтобы редактировать текст кнопки, просто нажимаю ОК, возвращаюсь, его0 "на кнопке, скрыть фронтальную активность, вернуться к передней активности, и это правильное значение.
Я надеюсь, что я включил все необходимые части.
private SharedPreferences prefs;
private String mobileNumber;
private static final int MENU_PREFERENCES = Menu.FIRST;
private static final int SHOW_PREFERENCES = 1;
private void updateFromPreferences() {
mobileNumber = prefs.getString("mobileNumber", "0");
}
private void refreshAplication(){
button.setText(mobileNumber);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
prefs = PreferenceManager.getDefaultSharedPreferences(this);
updateFromPreferences();
refreshAplication();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case (MENU_PREFERENCES): {
Intent i = new Intent(this, Preferences.class);
startActivityForResult(i, SHOW_PREFERENCES);
return true;
}
}
return false;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == SHOW_PREFERENCES)
if (resultCode == Activity.RESULT_OK) {
updateFromPreferences();
refreshAplication();
}
}
public class Preferences extends PreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.userpreferences);
}
}