我有一个小问题。当我将项目添加到menu.xml文件时,gen文件夹中的R.java文件不会生成。我之前使用过相同的代码,没有出现任何问题。我在Windows 7上使用Eclipse和ADT插件。
这是menu.xml文件代码:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.andrewq.planets.MainActivity" >
<item android:id="@+id/action_about"
android:icon="@drawable/action_about"
android:title="@string/action_about"
android:orderInCategory="1"
android:showAsAction="always"/>
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never" />
</menu>
以下是MainActivity.java中使用的代码:
//Method used to inflate the menu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
//Method used to add items to the menu
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
switch (item.getItemId()) {
case R.id.action_about:
aboutMenuItem();
break;
case R.id.action_settings:
Intent intent = new Intent(getApplicationContext(), Settings.class);
startActivity(intent);
break;
}
return super.onOptionsItemSelected(item);
}
仅供参考 - 以下是一些清单信息:
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="19" />
编辑:当项目添加到menu.xml文件时似乎出现问题。如果我删除了这些项目,它只是说它找不到action_about
或action_settings
,而当项目存在时,R.java文件就会消失。
编辑#2:以下是代码设置的一些屏幕截图:
以下是XML代码的图片,其中注释了项目。
当项目被注释掉时,Java代码说它不能 找到action_settings或action_about:
最后,当项目被注释掉时输出错误:
现在,如果我像这样拿出评论括号:
出现以下错误,似乎无法解决:
我希望这可以帮助别人解决我的问题。我以前从未遇到过这个问题。
谢谢,
安德鲁
答案 0 :(得分:3)
我可以看到:
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never" />
将 app:showAsAction 更改为 android:showAsAction 并检查。 希望它能解决这个问题。
已编辑(2013年12月30日): 你能不能在menu.xml中复制粘贴代码,看看它是否有效
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_about"
android:icon="@drawable/action_about"
android:orderInCategory="1"
android:showAsAction="always"
android:title="@string/action_about"/>
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
</menu>
该项目只有showAction的更改。 我有这个xml,它的工作正常。
答案 1 :(得分:3)
它不会自行删除,也不会为您所做的更改生成。因此,我建议您清理项目,重建项目,如果仍然显示问题,请转到控制台并检查问题。如果没有显示,请打开问题查看并检查它。肯定会出现一些错误。请查看错误日志。
编辑: 如果您使用的是API 11或更低版本,请在菜单中删除showAsAction =“never”,或者在清单文件中将min SDK版本设置为11。
答案 2 :(得分:0)
将上一个返回语句return super.onOptionsItemSelected(item);
替换为
return true
;或return false
根据您的需要,因为该方法需要boolean
返回语句。
答案 3 :(得分:0)
在ADT中进入“导航”(菜单) - &gt;偏好 - &gt; Android - &gt;构建 - &gt; Build Config:设置此项以将输出构建为“Normal”。完成此操作后,清理并重建项目。