【发布时间】:2013-07-22 01:23:39
【问题描述】:
我正在开发一个应用程序,并希望重用相似的活动,以免重复几乎相同的代码。 假设我有 4 个活动: - 主要活动 - 任务1活动 - 任务2活动 - 菜单活动
Task1Activity 或 Task2Activity 非常相似,所以我只想创建一个名为 TaskActivity 的活动,并通过 Intent 传递一些数据来控制 TaskActivity 中的不同行为。 我们可以考虑为简化起见,区别仅在于导航流程。 我想实现的导航流程是:
MainActivity MenuActivity Task1Activity
or
MainActivity Task2Activity
如果我可以在导航流程中的 2 个不同位置重用 TaskActivity,我会:
MainActivity MenuActivity TaskActivity
or
MainActivity TaskActivity
问题是当我在清单文件中定义 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。 但本示例的父活动可以是 MenuActivity 或 MainActivity。 如何在不指定父活动的情况下定义我的 TaskActivity? 如果有办法做到这一点,我应该在 Android 中按下后退按钮时出现任何问题吗?
谢谢, 卡洛斯
【问题讨论】:
标签: android android-activity manifest reusability