gpt4 book ai didi

android - 在我的 Activity 中保留切换按钮状态

转载 作者:行者123 更新时间:2023-11-29 16:12:09 25 4
gpt4 key购买 nike

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.some_layout);
toggleButton=(ToggleButton) findViewById(R.id.toggleButton1);
}
@Override
public void onSaveInstanceState(Bundle save) {
super.onSaveInstanceState(save);
save.putBoolean("ToggleButtonState", toggleButton.isChecked());
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
toggleButton.setChecked(savedInstanceState.getBoolean("ToggleButtonState",false);
}

看起来应该可以,但如果我执行以下操作:

  1. 通过应用程序菜单上的图标运行我的应用程序
  2. 检查切换按钮
  3. 按后退按钮返回主屏幕
  4. 再次从其图标激活我的应用程序

我看到我的切换按钮未选中,为什么会这样?我该如何克服这个问题?

最佳答案

我错过了保存和恢复方法的用途,但为了实现我正在寻找的功能,我做了以下操作:

public class MainActivity extends Activity {

private ToggleButton toggleButton;
private static Bundle bundle = new Bundle();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toggleButton = (ToggleButton)findViewById(R.id.toggleButton1);
}



@Override
public void onPause() {
super.onPause();
bundle.putBoolean("ToggleButtonState", toggleButton.isChecked());
}

@Override
public void onResume() {
super.onResume();
toggleButton.setChecked(bundle.getBoolean("ToggleButtonState",false));
}
}

关于android - 在我的 Activity 中保留切换按钮状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12334991/

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