我在menu
中创建了res
文件夹。在menu
文件夹中,我创建了一个 menu_main.xml 文件,其中包含:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
<item android:id="@+id/action_settings" android:title="action_settings"
android:orderInCategory="100" android:showAsAction="never" />
</menu>
因为我将此 xml 与MainActivity
内的代码结合使用。它给我一个错误#34;无法解析menu_main
的符号。以下是摘录:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
我无法理解为什么即使在指定文件夹中创建xml之后也会发生这种情况。也许我错过了一些愚蠢的东西,但我无法掌握它。任何帮助将不胜感激。
答案 0 :(得分:2)
为什么使用android:showAsAction="never"
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity"><itemandroid:id="@+id/action_settings" android:title="action_settings"
android:orderInCategory="100" android:showAsAction="always" ></menu>
试试这段代码
答案 1 :(得分:2)
转到Build>Clean
项目,清理并重建项目。
转到File>Invalidate Caches/Restart
。
答案 2 :(得分:1)
如果IDE存储了大量缓存,那么IDE无法确定您需要Clean
和Rebuild
项目的时间。如果IDE包含大量缓存内存,则必须清理该内存,然后重新启动它。
那时你必须去File and Select Invalidate Caches and Restart
。
答案 3 :(得分:1)
android:showAsAction="always"
你走了。!尝试关注正确的Android开发人员文档Menus
而且这个教程也会对你有所帮助。 Menu Example最后转到文件点击Invalidate Caches并重启。希望这会对你有所帮助。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
<item android:id="@+id/action_settings" android:title="action_settings"
android:orderInCategory="100" android:showAsAction="always" />
</menu>