如何在不同的包中定义活动

时间:2012-08-23 13:23:42

标签: android

我已将我的应用程序拆分为多个packages。我的一些扩展Activity的类位于com.tmt.app下,另一个Activity位于包Dialogs中。这两个软件包都位于src文件夹下,我注意到在我的Manifest文件中,我指定了这样的软件包名称:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.tmt.app"
android:versionCode="1"
android:versionName="1.0" >

表示此清单与包com.tmt.app相关。相关类的定义如下:

<activity
        android:name=".PasswordDialog"
        android:theme="@style/AboutTheme"
        android:screenOrientation="portrait" >
    </activity>

这表明课程PasswordDialog位于包com.tmt.app

如何指定此类位于包Dialogs下?

提前致谢!

5 个答案:

答案 0 :(得分:1)

当您声明您的活动android:name=".PasswordDialog"时,它会将当前的包活动视为清单根目录中的包。

当您必须在另一个包中声明您的活动时,您必须在清单中声明您的活动,如下所示。

<activity
        android:name="YourAnotherPackageName.PasswordDialog"
        android:theme="@style/AboutTheme"
        android:screenOrientation="portrait" >
    </activity>

答案 1 :(得分:1)

<activity
        android:name=".Dialogs.PasswordDialog"
        android:theme="@style/AboutTheme"
        android:screenOrientation="portrait" >
</activity>

答案 2 :(得分:1)

您必须编写包的整个路径。示例:

<activity
        android:name="com.tmt.Dialogs.PAsswordDialog"
        android:theme="@style/AboutTheme"
        android:screenOrientation="portrait" >
    </activity>

答案 3 :(得分:1)

假设您有两个软件包,例如com.onecom.two。你的清单看起来像:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.two"
android:versionCode="1"
android:versionName="1.0" >

.......

<activity
        android:name="com.one.a"
        android:theme="@style/AboutTheme"
        android:screenOrientation="portrait" >
    </activity>

<activity
        android:name=".b"
        android:theme="@style/AboutTheme"
        android:screenOrientation="portrait" >
    </activity>

您需要使用完全限定名称来引用包外的活动。

OR

如果第二个包是com.one和com.one.two这样的子包,你将使用:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.one"
android:versionCode="1"
android:versionName="1.0" >

.......

<activity
        android:name=".two.a"
        android:theme="@style/AboutTheme"
        android:screenOrientation="portrait" >
    </activity>

<activity
        android:name=".b"
        android:theme="@style/AboutTheme"
        android:screenOrientation="portrait" >
    </activity>

答案 4 :(得分:0)

转到应用程序节点中的清单选择应用程序选项卡选择添加活动,然后您将获得可用活动列表,从中选择最好的方法并且免费使用