我怎么知道onResume是在onCreate之后出现的?

Luk*_*kap 14 lifecycle android onresume oncreate

我没有什么活动,从一个活动我打开另一个活动,然后回到第一个...

关键是onCreate被称为1,而onResume每次显示活动时.例如,当我关闭之前从A开始的B时,onResume被调用但不是onCreate ....

我的问题是我不想在onCreate之后运行onResume,我只想在没有调用onCreate的情况下运行代码

这可能没有静态标志吗?

有来自android的一些方法或标志,如comeAfterOnCreate?

@Override
protected void onResume() {
   if(comesAfterOnCreate){
       //DO not run this code
   }else{
      //run the long task
   }
Run Code Online (Sandbox Code Playgroud)

我使用静态标志显示了许多解决方案的答案,感谢各位的努力和提供帮助,但我感兴趣的是有一些方法或东西......

Lal*_*ani 5

试试这个,

boolean flag = false;

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

           flag = true;
....
}
@Override
    protected void onResume() {
        super.onResume();
              if(flag == true){
                 ..... // it has came from onCreate()
               }
               else{
                  .....// it has directly came to onResume()
               }
    }
Run Code Online (Sandbox Code Playgroud)

现在,当Acitivity完成时,flag的值将再次为false,onResume()并将以false值调用.

希望这对你有用.


Moh*_*ikh 2

这不是一项困难的工作,您可以使用boolean或查看此处是否可以检查由于方向更改而调用的 onCreate ?