有没有办法确定是否刚刚在onResume()之前调用onCreate()

问题描述 投票:-2回答:1

有没有办法确定是否刚刚在onResume()之前调用onCreate()。

我不想在onCreate()中进行视图初始化等操作,但我不想在onResume()中再次执行它们,并且我仍然喜欢每次恢复时要完成的事情...

有没有办法确定是否刚刚在输入当前的onResume()之前创建了应用程序?

android android-lifecycle
1个回答
1
投票

没有内置的系统调用会告诉您是否正在调用onResume(),因为活动只是暂停,或者是否因为活动完全重新创建而被调用。所以你必须自己跟踪它。

boolean中设置onCreate()相对容易,然后在onResume()中检查它:

public class MainActivity extends AppCompatActivity {

    private boolean didCreate;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        ...
        this.didCreate = true;
    }

    @Override
    protected void onResume() {
        ...

        if (didCreate) {
            ...
        } else {
            ...
        }

        this.didCreate = false;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.