30

私はlibGDXプロジェクトに取り組んでおり、イベントリスナーである別のインラインクラスを持つCheerVArachnidsというクラスがあります。このプロジェクトをデスクトップで実行すると、正常に動作します。しかし、Android デバイスで実行すると、そのインライン クラスが見つからず、次のエラーが発生します。

Could not find class 'com.bbj.cva.CheerVArachnids$PlaceUnitListener', referenced from method com.bbj.cva.CheerVArachnids.<init>

私のクラスの重要な部分は次のとおりです。

package com.bbj.cva;

public class CheerVArachnids implements ApplicationListener {

    class PlaceUnitListener implements EventSubscriber<PlaceUnitEvent> {

        @Override
        public void onEvent(PlaceUnitEvent event) 
        {   
            //
        }
    }

    public CheerVArachnids() {

        EventBus.subscribe(PlaceUnitEvent.class, new PlaceUnitListener());
        EventBus.subscribe(RemoveScreenObjectEvent.class,
                new RemoveScreenObjectListener());
    }
}

Android で、実行時にそのインライン クラスが見つからない理由はありますか?

4

3 に答える 3

46

一部のADTバージョン以降、どのライブラリ/プロジェクトもエクスポートする必要があるかを設定する必要があります。

プロジェクト - プロパティ -> Java ビルド パス -> 注文とエクスポート -> 使用しているソースと他のライブラリを確認します。

Core- および Android-Project に対してこれらの Export-Settings を実行します。

その後、Androidで正常に動作するはずです。

于 2013-02-08T10:19:25.527 に答える
0

まず、XXX(Class).java をインポートします。外部ライブラリの jar ファイルを追加した場合は、それらを LIB フォルダーにインポートします。その後:プロジェクトを右クリック->プロパティ-> Javaビルドパス->注文とエクスポート(タブ)->すべてを選択-> OKを押して->プロジェクトを消去します。

これでこの問題が解決することを願っています

于 2014-03-28T08:44:20.367 に答える