Android应用程序-想在首次主活动时致祝酒辞';s onCreate()被调用,当设备旋转时不再调用

Android应用程序-想在首次主活动时致祝酒辞';s onCreate()被调用,当设备旋转时不再调用,android,rotation,boolean,Android,Rotation,Boolean,我希望我的用户在我的应用程序启动时看到一个祝酒词,并且在应用程序被关闭然后被故意重新启动之前(而不仅仅是从后台恢复) 因此,我设置了一个布尔值,让我知道土司是否已经吃过,如果没有,则显示土司,并将布尔值设置为“已吃”,但旋转设备会重置所有内容,即使是该布尔值。如何使布尔值在旋转时不会重置?使用savedInstanceState参数保存布尔值的当前状态 请参阅本文:.使用savedInstanceState参数保存布尔值的当前状态 请参阅以下帖子:。您可以通过多种方式实现这一点 最简单的解决方案

我希望我的用户在我的应用程序启动时看到一个祝酒词,并且在应用程序被关闭然后被故意重新启动之前(而不仅仅是从后台恢复)


因此,我设置了一个布尔值,让我知道土司是否已经吃过,如果没有,则显示土司,并将布尔值设置为“已吃”,但旋转设备会重置所有内容,即使是该布尔值。如何使布尔值在旋转时不会重置?

使用
savedInstanceState
参数保存布尔值的当前状态


请参阅本文:.

使用
savedInstanceState
参数保存布尔值的当前状态

请参阅以下帖子:。

您可以通过多种方式实现这一点

最简单的解决方案: 使用旗帜来实现你的目标

}

您可以通过多种方式实现这一点

最简单的解决方案: 使用旗帜来实现你的目标

}请参见下面的代码:

公共类活动扩展了活动{

private Boolean showToast=true;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

   if(savedInstanceState==null){//  show your toast here}
   else{
      if(showToast){// show your toast here}
     }

}



  @Override
  public void onSaveInstanceState(Bundle savedInstanceState) {
     super.onSaveInstanceState(savedInstanceState);

         savedInstanceState.putBoolean("Toast_shown", true);

  }


     @Override
     public void onRestoreInstanceState(Bundle savedInstanceState) {
       super.onRestoreInstanceState(savedInstanceState);

       boolean myBoolean = savedInstanceState.getBoolean("Toast_shown");
       this.showToast=!myBoolean;

       }
}请参见下面的代码:

公共类活动扩展了活动{

private Boolean showToast=true;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

   if(savedInstanceState==null){//  show your toast here}
   else{
      if(showToast){// show your toast here}
     }

}



  @Override
  public void onSaveInstanceState(Bundle savedInstanceState) {
     super.onSaveInstanceState(savedInstanceState);

         savedInstanceState.putBoolean("Toast_shown", true);

  }


     @Override
     public void onRestoreInstanceState(Bundle savedInstanceState) {
       super.onRestoreInstanceState(savedInstanceState);

       boolean myBoolean = savedInstanceState.getBoolean("Toast_shown");
       this.showToast=!myBoolean;

       }

}

谢谢您的帮助,但是我还必须在onCreate()方法中检索布尔值。如果没有设置,那么我假设为false并弹出toast。谢谢你,这是可行的,但是我还必须在onCreate()方法中检索布尔值。如果没有设置,那么我假设为false,并弹出祝酒词。