所以我最初的问题是清单中我的菜单正在加载,即
<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,并且该按钮起作用。谢谢您的帮助。
最佳答案
您误解了<intent-filter>
标记和开始活动的方式。
还要保持正确的术语-Menu
和Activity
是完全不同的东西。
您可以在这里找到有关活动的所有信息:Activities | Android Developers
例:AndroidManifest.xml
中的此条目说“在启动器中将MainMenu
活动显示为图标”:
<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
。它不会显示在已安装的应用列表中。这些行说“打开
SubMenuChapter3
活动”:Intent i = new Intent(this, SubMenuChapter3.class);
startActivity(i);
编辑:您可以从
onClick
内部的MainMenu
方法内部调用此代码。它将启动SubMenuChapter3
。