错误:没有找到类android.view.menu(在路径上)

时间:2013-05-18 18:25:57

标签: java android view menu android-studio

我正在尝试创建一个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;
}

4 个答案:

答案 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