BaseActivity怎么写
时间: 2024-09-27 08:11:30 浏览: 26
BaseActivity
BaseActivity是一种通用的基础活动类,在Android中,通常作为所有其他Activity的父类,它封装了一些常见的功能,比如设置主题、管理生命周期、初始化布局等。下面是一个简单的`BaseActivity`示例:
```java
public abstract class BaseActivity extends AppCompatActivity {
// 标识当前Activity是否已经初始化过View
protected boolean isViewInitiated = false;
// 所有Activity共用的全局Context
protected Context context;
// 布局文件ID
protected int layoutId = 0;
// 初始化视图的方法,一般会在这个方法中加载布局和设置一些默认属性
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = this; // 设置全局Context
// 设置主题
setTheme(R.style.BaseAppTheme); // 请替换为你应用的主题资源ID
// 初始化布局
if (!isViewInitiated) {
setContentView(layoutId); // 加载布局
isViewInitiated = true; // 标记已经初始化
initViews(); // 自定义的初始化视图方法
}
// 其他必要的初始化工作,如绑定事件、初始化组件等
// ...
init(savedInstanceState); // 子类需要覆盖的初始化方法
}
// 子类可以覆盖这个方法来处理特定的初始化操作
protected void init(@Nullable Bundle savedInstanceState) {
// ...
}
// 当Activity因配置改变而重建时调用
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// 更新布局或其他相关设置
}
// 省略其他生命周期方法...
}
```
在这个基础类中,你可以根据实际需求添加更多的功能,比如网络请求、设置共享偏好等。每个具体的Activity只需继承这个BaseActivity,并覆盖`init()`方法来完成特定的功能。
阅读全文