1
我想保存來自2個edittexts(et1,et2
)的文本並從3個spinners(spinnerm,spinner和spinner2)中選擇onPause並將其設置回onResume。 來自edittexts的文本被正確保存,只有微調選擇不能按需要工作。 我的代碼:設置spinres onResume不起作用
public void onResume(){
super.onResume();
Log.d("REZUM","notr smo");
SharedPreferences seti = getSharedPreferences("pavzica", MODE_PRIVATE);
spinnerm.setSelection(seti.getInt("m", 0));
spinner.setSelection(seti.getInt("k", 0));
spinner2.setSelection(seti.getInt("p", 0));
et1.setText(seti.getString("zade", ""));
et2.setText(seti.getString("Vseb", ""));
}
public void onPause() {
shraniPolja();
super.onPause();
}
public void shraniPolja() {
SharedPreferences seti = getSharedPreferences("pavzica", MODE_PRIVATE);
SharedPreferences.Editor edito = seti.edit();
edito.putString("zade", et1.getText().toString());
edito.putString("Vseb", et2.getText().toString());
edito.putInt("m", spinnerm.getSelectedItemPosition());
edito.putInt("k", spinner.getSelectedItemPosition());
edito.putInt("p", spinner2.getSelectedItemPosition());
edito.putBoolean("b", true);
edito.commit();
}
我在做什麼錯了?
我已經setOnItemSelectedListener註冊的onCreate上第一微調。在onItemSelected中,我將適配器設置爲2.和3.微調器。我得到空指針異常,如果我嘗試spinner2.getAdapter()。toString()。我嘗試在onResume中再次註冊監聽器,但這也沒有幫助。 我試着用:spinner.setSelection(seti.getInt(「k」,0)); \t \t \t spinner.invalidate(); \t \t \t spinner2.setSelection(seti.getInt(「p」,0)); \t \t \t spinner2.invalidate(); 但是這並沒有幫助:( – DixieFlatline 2010-05-09 09:18:02
只有第一個微調器的選擇才能正確地修正,它必須在onResume之後執行onItemSelected,然後將微調器重置到原來的位置 – DixieFlatline 2010-05-09 09:42:55
如何在onResume中立即調用onitemSelected() ()爲2.和3.微調器正確設置適配器,然後爲2.和3.微調器設置選擇? – DixieFlatline 2010-05-09 09:46:22