2

我想从 2 个 edittexts( et1,et2) 中保存文本并从 3 个微调器(微调器、微调器和微调器 2)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();

}

我究竟做错了什么?

4

1 回答 1

1

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

您可以使用 mYourView.invalidate() 使整个视图无效;或者您可以仅使视图的一部分或特定的可绘制对象无效。 请参阅查看类文档

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

于 2010-05-09T02:35:44.663 回答