【问题标题】:Switch activities from one package to another?将活动从一个包切换到另一个包?
【发布时间】:2012-02-01 17:24:34
【问题描述】:

我的主包名为com.android.cats,我创建了另一个包(在同一个应用程序中)名为com.android.dog。在包com.android.cats 中我创建了一个名为Meow.java 的活动,在包com.android.dog 中我创建了一个名为Ruff.java 的活动。我的问题是:如何将活动从Meow.java 切换到Ruff.java

【问题讨论】:

    标签: android android-intent package android-activity


    【解决方案1】:

    AndroidManifest.xml 中声明您的活动,类似于以下内容:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest
        package="com.android"
    ...
    >
    ...
    <activity android:name=".cats.Meow" />
    <activity android:name=".dogs.Ruff" />
    ...
    

    然后在你的应用程序代码中,像往常一样启动你的意图,当然使用完整的包名(即com.android.dogs.Ruff

    【讨论】:

    • 这是我想启动的意图 startActivity(new Intent(Meow.this, com.android.dogs.Ruff.class));?
    • @Leon 我收回这一点,如果您正确导入了 com.android.dogs.Ruff.class,您可能不必使用完整的 com.android.dogs.Ruff.class。但是,是的,这是一般的想法。
    • ANidroidManifest.xml 中的活动应该是这样的: 带点吗?因为我尝试了你告诉我的内容,但它给我一个错误,它说“解析包时出现问题”
    • @Leon 如果你将你的包名设置为基本名(即com.android),那么.cats.Meow .dogs.Ruff 应该工作。查看我编辑的帖子。
    • 所以我的意图应该是这样的 startActivity(new Intent(Meow.this, Ruff.class))?而不是 com.android.dogs.Ruff.class?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-09
    • 1970-01-01
    相关资源
    最近更新 更多