我正在尝试创建一个menu
项。当我运行我的应用程序时,它在启动时崩溃,我在LogCat中收到以下错误:
E / AndroidRuntime(1507):引起: java.lang.ClassNotFoundException:没找到类 路径上的“android.view.menu”: /data/app/com.thing.appname-2.apk
这是我的XML:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/addEventMenu"
android:title="Add Event"
android:icon="@drawable/addeventimage"/>
</menu>
以下是在onCreate方法之外(不知道它是否有所作为):
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.addEventMenu:
//do something here when menu button is pressed
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(R.id.addEventMenu);
return super.onCreateOptionsMenu(menu);
}
我也试过了,我也得到了同样的错误:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return true;
}
答案 0 :(得分:4)
在我开始Android开发之前,我遇到了同样的问题...
项目资源中的“菜单”下有一个不同的XML文件 - 这与布局XML文件大不相同。将<menu>
和<item>
(s)放在“res / menu / main.xml”中。
此外,Android Studio有一种奇怪的方式告诉您导入内容......请确保使用
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return true;
}
并点击要导入的红色通知。
答案 1 :(得分:0)
当我的布局文件(activity_main.xml)出现错误的&#39;样式时,我遇到了同样的问题。项目
从xml文件中删除错误的项目解决了它。
答案 2 :(得分:0)
我遇到了类似的问题,应用程序崩溃了,我得到了运行时错误:
java.lang.ClassNotFoundException:没找到类“android.view.style”
从布局文件(activity_main.xml)中删除'style'项解决了这个问题。我假设如果需要样式项,适当的导入将解决问题。
答案 3 :(得分:-1)
你可能正在使用ActionbarSherlock。如果是这种情况,请尝试导入
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
而不是android.view.menu