如何从Android中的其他包引用类?

时间:2012-10-22 14:57:21

标签: android

我想问一下如何在Android中的其他包中引用其他类?

我有我的主要包裹。在它下面它有几个子包。 如何将子包下的这些类引入主包中的主类?

我正在做的是,在主类中,我通过Intent调用子包中的类。 这是我到目前为止所做的尝试无济于事:

case 0:
        Intent acorn = new Intent( "com.fps.iHealthFirst.vegetables.AcornSquash.class" );
        //Intent acorn = new Intent( Nutritional_List.this, AcornSquash.class );
        startActivity( acorn );
        break;

我很难做到这一点。谢谢你的帮助。

BTW,这是logcat:

10-22 23:13:03.585: E/AndroidRuntime(395): FATAL EXCEPTION: main
10-22 23:13:03.585: E/AndroidRuntime(395): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.fps.iHealthFirst/com.fps.iHealthFirst.vegetables.AcornSquash}; have you declared this activity in your AndroidManifest.xml?

另外,我在清单文件中对此进行了编辑:

    <activity android:exported="false"
        android:name=".vegetables.AcornSquashAcornSquash"
        android:label="@string/inutrition" >
        <intent-filter >
        <action android:name="com.fps.iHealthFirst.vegetables.ACORNSQUASH" />
        </intent-filter>
    </activity>

2 个答案:

答案 0 :(得分:1)

这是你应该做的:

    import com.fps.iHealthFirst.vegetables.AcornSquash;

    Intent acorn = new Intent(this, AcornSquash.class);
    startActivity(acorn);

更新:

您必须在Manifest.xml中声明所有活动。保持简单:

     <activity
        android:name="com.fps.iHealthFirst.vegetables.AcornSquash"
        android:label="@string/some_name" >
    </activity>

最后,请确保您的文件夹结构与您的包路径一致,即您的文件AcornSquash.java必须位于src/com/fps/iHealthFirst/vegetables/文件夹中。

答案 1 :(得分:0)

你可以试试这个:

Intent acorn = new Intent(Intent.ACTION_VIEW,“com.fps.iHealthFirst.vegetables.AcornSquash”);