Android 在应用程序的不同部分重用 Activity

标签 android android-activity manifest reusability

我正在开发一个应用程序,并且希望重用类似的 Activity ,以免不断复制几乎相同的代码。 假设我有 4 项 Activity : - 主要 Activity - 任务1 Activity - 任务2 Activity - 菜单 Activity

Task1Activity 或 Task2Activity 非常相似,因此我只想创建一个名为 TaskActivity 的 Activity ,并通过 Intent 传递一些数据来控制 TaskActivity 中的不同行为。 为了简化起见,我们可以认为差异只是导航流程。 我想要实现的导航流程是:

MainActivity <-> MenuActivity <-> Task1Activity

                   or

MainActivity <-> Task2Activity

如果我可以在导航流程中的两个不同位置重用 TaskActivity,我会:

MainActivity <-> MenuActivity <-> TaskActivity

                   or

主 Activity <->任务 Activity

问题是,当我在 list 文件中定义 TaskActivity 时,我需要添加如下内容:

   <activity
        android:name="br.com.example.TaskActivity"
        android:label="Just an example"
        android:launchMode="singleTask"
        android:configChanges="orientation"
        android:parentActivityName="br.com.example.MainActivity" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="br.com.example.MainActivity" />
    </activity>

在上面的 TaskActivity 定义中,我需要告诉哪个 Activity 将是我的 PARENT_ACTIVITY。 但本示例的父 Activity 可以是 MenuActivity 或 MainActivity。 如何在不指定父 Activity 的情况下定义我的 TaskActivity? 如果有办法做到这一点,那么在 Android 中按后退按钮时是否会出现任何问题?

谢谢, 卡洛斯

最佳答案

为什么需要在 list 中包含 PARENT_ACTIVITY 的元数据?这对你正在做的事情有一些限制吗?您可以在 AndroidManifest 中声明您的 Activity,而无需 PARENT_ACTIVITY 的元数据,这样您的问题就可以解决。

关于Android 在应用程序的不同部分重用 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17802316/

相关文章:

java - 持有 View 持有者的适配器中出现 NullPointerException

android - Firebase 非购买者 Android 受众定位

java - 使用 Intent 从 Unity 应用程序向 Android 应用程序发送数据

java - 加载屏幕中的非连续渲染无法正常工作 - 多线程 LIBGDX

java - 我应该将数据保存到静态类变量还是将其传递给 Activity ?

android - 如何打开系统 Activity 并单击那里的按钮?

google-chrome-extension - Popup.html 未在 Chrome 扩展中打开

Android,保持 View

maven - pom 文件中的 list - NoClassDefFoundError

scala - 按类型在 Scala 中进行通用收集