gpt4 book ai didi

java - 使用 BaseActivity 执行代码 oncreate 扩展 Activity ?

转载 作者:行者123 更新时间:2023-11-29 07:10:16 25 4
gpt4 key购买 nike

我有很多 Activity 需要在创建时执行一些代码,这些代码与显示偏好有关,例如不同的主题、隐藏状态栏等。

这是其中一项 Activity 的示例:

public class MainActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
}
}

Base Activity 依次有这段代码:

public class BaseActivity extends Activity{

// getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
// System.out.println("BaseActivity");

}

我正在尝试在创建时运行一些代码,但我无法做到。如何使用 BaseActivity 尽快运行上面的代码?

最佳答案

在子的onCreate方法中调用super.onCreate(Bundle bundle)来调用父的onCreate。

这是从 Activity 中抽象代码以便在其他 Activity 中重用的常见做法。

例如:

public class MainActivity extends BaseActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.v(TAG,"MainActivity");
}
}



public class BaseActivity extends Activity{

protected static final String TAG = "TAG";

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.v(TAG,"BaseActivity");
}
}

我个人经常这样做,但我通常更喜欢以下代码以获得更好的可维护代码:

composition over inheritance

关于java - 使用 BaseActivity 执行代码 oncreate 扩展 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14591452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com