android - 同一个函数在两个不同的 Activity 中被调用两次

标签 android

我正在尝试在 android studio 中制作我的第一个应用程序,但我遇到了一个问题,我有 2 个 Activity ,并且在两个 Activity 中都有

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);
    }

但是,当我将 Activity 更改为另一个 Activity 时,两个 Activity 都会调用该函数,我不想破坏 Activity 。

我是否应该创建包含此代码的第三个 Activity ,然后从最后两个 Activity 中删除?

最佳答案

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

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

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

关于android - 同一个函数在两个不同的 Activity 中被调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59512166/

相关文章:

java - 警告对话框消失

android - ViewPager : java. lang.IllegalArgumentException: pointerIndex 超出范围

android - Android 3.1 中的 BootupReceiver

android - 既然 TabActivity 已被弃用,我该如何使用 fragment ?

java - 尝试实现选项卡布局,findViewByID 上的空对象引用

Android 5 和音频路由

将 fragment 添加到 Activity 类时发生Android冲突

android - Ant + Proguard 提供 android-support-v4.jar 错误

在 OS X 10.9.4 中创建第一个 Android 应用程序时出现 java.lang.NullPointerException

android - 如何在 Android 上检查 Open Mobile API 的版本?