尝试使用主菜单和子菜单类

时间:2014-11-10 19:28:40

标签: java android

所以我原来的问题是在我的清单中我的菜单正在加载即

 <activity
        android:name=".MainMenu"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="com.th3ramr0d.learnar670_1.MAINMENU" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
 </activity>

这是通过在启动时加载来修复的,即

 <activity
        android:name=".MainMenu"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
 </activity>

所以现在我的主菜单有效。但是,MainMenu.xml中的按钮会将您带到另一个带有更多按钮的.xml文件。所以现在我有同样的问题。我创建了另一个名为SubMenuChapter3的类,并将其放入清单中。

 <activity
        android:name=".SubMenuChapter3"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="com.th3ramr0d.learnar670_1.SUBMENUCHAPTER3" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
 </activity>

现在这不起作用我假设出于与之前相同的原因与mainmenu。不会崩溃或给我错误。它只是不打开submenuchapter3类。我强迫submenuchapter3类打开

 startActivity(new Intent("com.th3ramr0d.learnar670_1.SUBMENUCHAPTER3"));

直接进入onclick外的MainMenu类,看它是否正常工作。当我这样做时,它打开了chapter_3.xml,就像它应该的那样,按钮工作。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您误解了<intent-filter>标记以及您开始活动的方式。

同时保持适当的术语 - MenuActivity完全不同。

您可以在此处找到有关活动的所有信息:Activities | Android Developers

示例:

AndroidManifest.xml中的此条目表示&#34;在启动器中显示MainMenu活动为图标&#34;:

<activity
    android:name=".MainMenu"
    android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

编辑:这允许Android启动MainActivity。它还将显示在已安装的应用列表中。

以下活动不会在启动器中显示,但可以从应用程序中打开:

<activity android:name=".SubMenuChapter3"/>

编辑:这允许Android启动SubMenuChapter3。它不会在已安装的应用列表中显示。

这些行说&#34;打开SubMenuChapter3活动&#34;:

Intent i = new Intent(this, SubMenuChapter3.class);
startActivity(i);

编辑:您可以在onClick内的MainMenu方法内调用此代码。它将启动SubMenuChapter3