ActionBarActivity - NoClassDefFoundError exception

倖福魔咒の 提交于 2019-12-19 10:17:31

问题


Already seen: NoClassDefFoundError Android with ActionBarActivity and ActionBarActivity catch an error on Phone

I am trying to use ActionBarCompact in my project. I have linked android-support-v7 project as well as its jar in my project following and checking the steps from lots of sources, but still I am unable to deal with the problem.

When I built my project, there is no error, but there is exception at runtime. Don't know why class is not detected. Please tell me what is wrong. Thanks.

Code:

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;
    }
}

------------Project Structure and Build Path-----------------

Logcat


回答1:


Try this:

  • Import support library as a project from "sdk/extras/android/support/v7/appcompat".

  • Reference library in your project (for Eclipse, "Properties - Android - Add").

  • Build projects (for Eclipse, "Projects - Build All"). Make sure, you have "android.support.v7.appcompat"in your main project gen folder.

If it still doesn't solve your problem, restart eclipse.

then clean and rebuild project

If the problem persists, remove the support library from you computer and redownload it and follow above mentioned steps.




回答2:


Get the latest versions.

Caution: Be certain you import the ActionBar class (and related APIs) from the appropriate package:

If supporting API levels lower than 11: import android.support.v7.app.ActionBar and use getSupportActionBar()

If supporting only API level 11 and higher: import android.app.ActionBar and use getActionBar()

from Google ActionBar




回答3:


I had not the same cause as yours, but it might help someone else.

In ADT base on eclipse, with each new Android project generate is new directory appcompat_v7. I delete duplicates directories (appcompat_7_2, etc..), because all of them using the same versions od SDK.

Then in project.properties path to android.library.reference.1 provide path to non-existing directory.

Solution:

Go to Project properties -> Android -> choose right appcompat_vX directory and delete previouse one.



来源:https://stackoverflow.com/questions/18848578/actionbaractivity-noclassdeffounderror-exception

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!