2012-01-21 41 views
0

当我编辑或只是在首选项屏幕中的任何输入上单击确定时,它会更新前端活动,并且我必须首先隐藏前端活动。它给我零按钮和偏好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); 
     } 
    } 

回答

0

呼叫refreshAplication();onResume()