android - 我什么时候需要基础 Activity 和基础 fragment ?

标签 android android-fragments android-activity

在我看到的很多例子中,所有的 Activity 和 fragment 都是从基础 Activity 和基础 fragment 扩展而来的。 2个问题:

  1. 我应该什么时候使用它?
  2. 里面应该放什么样的代码?

最佳答案

通常,当我需要在我的所有 Activity/Fragment 的一些生命周期回调中做一些工作时,我会使用基本 Activity/Fragment。

例如,如果您使用 Butter Knife (非常推荐),需要在调用setContentView后调用Butterknife.bind(Activity a)。因此,最好创建一个基本 Activity 并在其中扩展 setContentView 方法,如下所示:

@Override
public void setContentView(int layoutResID) {
    super.setContentView(layoutResID);
    ButterKnife.bind(this);
}

onCreate 开始时调用 setContentView 的子 Activity 中(在调用 super.onCreate 之后),ButterKnife.bind 会被自动调用。


另一个用例是当您想要实现一些辅助方法时。例如,如果您在 Activity 中多次调用 startActivity,这将非常令人头疼:

startActivity(new Intent(this, NextActivity.class));

您可以像这样向您的基本 Activity 添加一个 start 方法:

protected void start(Class<? extends BaseActivity> activity) {
    startActivity(new Intent(this, activity));
}

然后开始下一个 Activity ,例如:

start(NextActivity.class);

关于android - 我什么时候需要基础 Activity 和基础 fragment ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32552592/

相关文章:

android - 多个在辅助功能服务的帮助下绘制 View 的应用程序无法同时工作

java - 无法在 Android 中使用 Javascript webview 获取 GPS 坐标

java - 如何将字符串从一个 Activity 传递到另一个 Activity ?

java - 更改 Activity 会阻止 ImageButton setImageResource 工作

java - Android 应用程序在 Lollipop 上崩溃 - 服务 Intent 必须明确 :

android - 如何在 Kotlin 中单击按钮时加载 fragment ?

Android Fragment - BroadcastReceiver调用 fragment 方法

Android fragment 工厂方法与构造函数重载

android - 将 2 个 fragment (一个 fragment 和一个 ListFragment)作为一个滚动

java - Android-我无法在第二个 Activity 上创建 ListView