在两个不同的活动中两次调用相同的函数

时间:2019-12-28 15:21:56

标签: android

我正在尝试在android studio中制作我的第一个应用程序,但是我遇到了一个问题,我有2个活动,而我和我都有

public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);
        Log.e(TAG, "onWindowFocusChanged()");
        if (hasFocus) {
            hideSystemUI();
        }
    }
    private void hideSystemUI() {
        Log.e(TAG, "hideSystemUI()");
        getWindow().getDecorView().setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_IMMERSIVE);
    }

但是,当我将活动更改为另一活动时,两个活动都调用了该函数,所以我不想破坏活动。

我应该进行包含此代码的第三个活动,然后从最后两个活动中删除吗?

1 个答案:

答案 0 :(得分:0)

这是一个非常非常普遍的问题!

一种解决方案是创建一个包含共享代码的BaseActivity。然后,您的两个活动都可以扩展BaseActivity以获得该功能。

如果您在扩展类方面需要更多帮助,this answer涵盖了相同的问题。