2013-12-22 62 views
0

我有两项活动。在第二项活动中,我有一个spinner。我想要发生的事情是在用户从微调器中选择一个项目后,它将通过actionbar保存并按回来,这将加载先前的活动。根据我的研究,我的活动应该看起来像下面的内容,但它不工作我做错了什么?Android保存微调器选择

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_edit); 
    getActionBar().setDisplayHomeAsUpEnabled(true); 

    spin = (Spinner)findViewById(R.id.editspin); 

    Intent i = this.getIntent(); 
    note = new ArgueItem(); 
    note.setKey(i.getStringExtra("key")); 
    note.setText(i.getStringExtra("text")); 

    EditText et = (EditText)findViewById(R.id.argueEdit); 
    et.setText(note.getText()); 
    et.setSelection(note.getText().length()); 


}private boolean saveState() { 
      prefs = PreferenceManager.getDefaultSharedPreferences(this); 
      SharedPreferences.Editor prefEditor = prefs.edit(); 
      int daddy = spin.getSelectedItemPosition(); 
      prefEditor.putInt("savedValue",daddy); 
      prefEditor.commit(); 
     return true; 
    } 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    EditText et = (EditText)findViewById(R.id.argueEdit); 
    String argueText = et.getText().toString(); 
    if(argueText.equals("")){ 
     Toast.makeText(this, "Please Enter A New ", Toast.LENGTH_SHORT).show(); 

     return false; 
    } 
    if (item.getItemId() == android.R.id.home) { 
     saveAndFinish(); 
    } 
    return false; 
} 
@Override 
public void onBackPressed() { 
    EditText et = (EditText)findViewById(R.id.argueEdit); 
    String argueText = et.getText().toString(); 
    if(argueText.equals("")){ 
     Toast.makeText(this, "Please Enter A New ", Toast.LENGTH_SHORT).show(); 

     return; 
    }else{ 
    saveAndFinish(); 
} 
+0

发布您的活动课程 - 您只发布了帮助课程 - 它如何使用? _什么不工作_? “spin”字段在哪里设置? –

+0

这是正常的java类 –

+0

post ur活动类 –

回答

0

在第二个活动中,您必须覆盖onPause()和。在里面写保存过程。

protected void onPause(){ 
    super.onPause(); 

    //Include the code which, save the data. 
} 
0

这是如何我初始化我的微调是在ActionBar。我并未将其添加为自定义视图,但我正在使用下拉菜单功能。

actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); 
actionBar.setListNavigationCallbacks(adapter, new ActionBar.OnNavigationListener() { 
     @Override 
     public boolean onNavigationItemSelected(int itemPosition, long itemId) { 

      //save in preferences 
      PreferenceManager.getDefaultSharedPreferences(MainActivity.this).edit(). 
        putInt(SELECTED_DIARY_PREF, itemPosition).commit(); 

      return true; 
     } 
    }); 
int selPosition = PreferenceManager.getDefaultSharedPreferences(this).getInt(SELECTED_DIARY_PREF, 0); 
actionBar.setSelectedNavigationItem(selPosition); 

这段代码的作用是:保存偏好单击菜单的项目时,并恢复这些偏好在活动启动。希望能帮助到你。

+0

我已将代码更新为活动 – LimpLimp