我正在尝试在 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/