BaseActivity
时间: 2023-08-22 16:07:50 浏览: 57
`BaseActivity` 是 Android 开发中的一种设计模式,用于封装一些公共的 Activity 逻辑,以便在多个 Activity 中复用。
具体来说,`BaseActivity` 是一个抽象类,它继承自 Android 系统提供的 `Activity` 类。在 `BaseActivity` 中,开发者可以定义一些公共的方法、成员变量和生命周期回调方法,供子类继承和复用。
例如,假设我们在多个 Activity 中都需要显示一个 Loading 对话框,那么可以在 `BaseActivity` 中定义一个显示 Loading 对话框的方法:
```java
public abstract class BaseActivity extends Activity {
private ProgressDialog mProgressDialog;
protected void showLoadingDialog() {
if (mProgressDialog == null) {
mProgressDialog = new ProgressDialog(this);
mProgressDialog.setMessage("Loading...");
mProgressDialog.setCanceledOnTouchOutside(false);
}
mProgressDialog.show();
}
protected void hideLoadingDialog() {
if (mProgressDialog != null) {
mProgressDialog.dismiss();
}
}
}
```
在子类中,只需要调用 `showLoadingDialog()` 和 `hideLoadingDialog()` 方法即可显示和隐藏 Loading 对话框:
```java
public class MainActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
showLoadingDialog();
// do some time-consuming task
hideLoadingDialog();
}
}
```
这个代码会在 `MainActivity` 中显示一个 Loading 对话框,并在执行一些耗时任务后隐藏对话框。这样,开发者就可以在多个 Activity 中复用显示和隐藏 Loading 对话框的逻辑了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)