-1

我的 Android 项目中有一个活动,它本身没有在界面中使用,而是由两个子活动扩展,如下所示:

class ParentActivity extends Activity {
...
}

class LeftActivity extends ParentActivity {
...
} 

class RightActivity extends ParentActivity {
...
} 

我不能在 Android 清单中声明 ParentActivity 吗?因为看起来没有它也能正常工作。

4

3 回答 3

1

我不能在 Android 清单中声明 ParentActivity 吗?因为看起来没有它也能正常工作。

不,它不需要将 ParentActivity 声明到清单中,直到您在 UI 上启动/显示 ParentActivity。

详细地

如果您只需要在 UI 上显示 LeftActivity 或 RightActivity,例如

startActivity(new Intent(getApplicationContext(), LeftActivity.class)); // OR
startActivity(new Intent(getApplicationContext(), RightActivity.class));

然后您无需将 ParentActivity 声明到清单中。

但是,当您需要在 UI 上显示 ParentActivity 时,例如

startActivity(new Intent(getApplicationContext(), ParentActivity.class));

那么你必须将 ParentActivity 声明到清单中。

于 2013-10-01T10:07:02.237 回答
1

在您的 android Manifest 中,您需要注册那些实际上是从其他地方开始或以任何方式启动的活动。无论是 Activity 还是 Service 都可以建立父子关系,但只需要声明实际使用的 Activity 或服务

如果它不使用它是父活动还是子活动,则无需在 Android 清单中声明。

于 2013-10-01T10:10:59.587 回答
0

Java 不支持 Multiple Inheritance ,我想这就是它已经完成的原因。创建 ParentActivity 作为超类。您可以在 Manifest 中声明它不会有任何问题。

于 2013-10-01T10:08:36.697 回答