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() を使用します。

Google アクションバーから

于 2014-04-12T04:43:53.400 に答える
0

私はあなたと同じ原因ではありませんでしたが、他の誰かを助けるかもしれません.

Eclipse ベースの ADT では、新しい Android プロジェクトごとに新しいディレクトリ appcompat_v7 が生成されます。重複するディレクトリ (appcompat_7_2 など) を削除します。それらはすべて同じバージョンの SDK を使用しているためです。

次に、project.propertiesでandroid.library.reference.1へのパスに、存在しないディレクトリへのパスを指定します。

解決:

プロジェクトのプロパティ-> Android -> 正しい appcompat_vX ディレクトリを選択し、前のものを削除します

于 2014-06-20T08:51:25.007 に答える