gpt4 book ai didi

java - 设置 spinners onResume 不起作用

转载 作者:行者123 更新时间:2023-11-30 11:58:59 24 4
gpt4 key购买 nike

我想在暂停时保存来自 2 个编辑文本 (et1,et2) 的文本和来自 3 个微调器(spinnerm、spinner 和 spinner2)的选择,然后在恢复时将它们设置回原位。来自 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();

}

我做错了什么?

最佳答案

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

您可以使用 mYourView.invalidate() 使整个 View 无效;或者您可以仅使 View 的一部分或特定的可绘制对象无效。 See the View class documentation .

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

关于java - 设置 spinners onResume 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2794960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com