设置微调器onResume不起作用

时间:2010-05-08 17:21:13

标签: java android spinner onresume

我想从2个edittexts(et1,et2)中保存文本,并从3个微调器(spinnerm,spinner和spinner2)中选择onPause并将它们设置回onResume。 来自edittexts的文本已正确保存,只有微调器选择不能按预期工作。 我的代码:

  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();

}

我做错了什么?

1 个答案:

答案 0 :(得分:1)

调用setSelection / setText后需要使视图无效。

您可以使用mYourView.invalidate()使整个视图无效;或者您可以使视图的一部分或特定的drawable无效。 See the View class documentation

如果希望微调器动画在微调器获得恢复时的值时运行,请使用具有第二个布尔参数的setSelection形式并传入true。