2

已经看到:NoClassDefFoundError Android 与 ActionBarActivityActionBarActivity 在电话上捕获错误

我正在尝试在我的项目中使用ActionBarCompact 。我已经在我的项目中链接了android-support-v7项目及其 jar,并检查了许多来源的步骤,但我仍然无法解决这个问题。

当我构建我的项目时,没有错误,但运行时出现异常。不知道为什么没有检测到类。请告诉我有什么问题。谢谢。

代码:

import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.widget.ArrayAdapter;

public class mainMenu extends ActionBarActivity implements ActionBar.OnNavigationListener {

    ActionBar actionbar;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.menutab);

        actionbar = getSupportActionBar();
        actionbar.setTitle("Menu");
        actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);

        ArrayAdapter<CharSequence> mSpinnerAdapter = ArrayAdapter.createFromResource(this,R.array.menu_items, R.id.simpleText);
        actionbar.setListNavigationCallbacks(mSpinnerAdapter, this);
    }

    @Override
    public boolean onNavigationItemSelected(int arg0, long arg1)//item pos, itemid
    {
        switch (arg0) {
        case 0:
            System.out.println("selected: " + arg0);
            break;
        case 1:
            System.out.println("selected: " + arg0);
            break;
        case 2:
            System.out.println("selected: " + arg0);
            break;
        case 3:
            System.out.println("selected: " + arg0);
            break;
        default:
            break;
        }
        return true;
    }
}

------------项目结构和构建路径-----------------

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

日志猫

在此处输入图像描述

4

3 回答 3

5

尝试这个:

  • 将支持库作为项目从"sdk/extras/android/support/v7/appcompat".

  • 项目中的参考库(对于 Eclipse,"Properties - Android - Add")。

  • 构建项目(对于 Eclipse,"Projects - Build All")。确保您"android.support.v7.appcompat"在主项目 gen 文件夹中。

如果它仍然不能解决您的问题,请重新启动 eclipse。

然后清理并重建项目

如果问题仍然存在,请从您的计算机中删除支持库并重新下载并按照上述步骤操作。

于 2013-09-17T12:20:07.693 回答
0

获取最新版本。

注意:确保从适当的包中导入 ActionBar 类(和相关 API):

如果支持低于 11 的 API 级别:导入 android.support.v7.app.ActionBar 并使用 getSupportActionBar()

如果仅支持 API 级别 11 及更高级别:导入 android.app.ActionBar 并使用 getActionBar()

来自谷歌操作栏

于 2014-04-12T04:43:53.400 回答
0

我的原因与您的原因不同,但它可能对其他人有所帮助。

在基于 Eclipse 的 ADT 中,每个新的 Android 项目都会生成新目录 appcompat_v7。我删除了重复的目录(appcompat_7_2 等),因为它们都使用相同的版本 od SDK。

然后在android.library.reference.1的project.properties路径中提供不存在目录的路径。

解决方案:

转到项目属性-> Android -> 选择正确的appcompat_vX目录并删除之前的一个。

于 2014-06-20T08:51:25.007 回答