2016-02-08 14 views
8

グリーンロボットのイベントバスモジュールについて知りました。このページの指示に従って、正常に動作するようにしてください。 http://greenrobot.org/eventbus/documentation/how-to-get-started/GreenRobotのイベントバスは注釈を見ることができません。「公開方法はありません」

シンプルなようです。

私は適切なコードを入れますが、デバイス上で実行したとき、私はクラッシュを取得:それは/ /思わ

public class LoadingActivity extends BaseActivity implements AlertDialogButtonListener { 
    AlertDialog mDialog = null; 
    AlertDialog mPushDialog = null; 

    @Subscribe 
    public void onMessageEvent(MessageEvent event){ 
     Toast.makeText(this, "From Loading "+event.message, Toast.LENGTH_SHORT).show(); 
    } 

    @Override 
    public void onStart() { 
     super.onStart(); 
     EventBus.getDefault().register(this); 
    } 

    @Override 
    public void onStop() { 
     EventBus.getDefault().unregister(this); 
     super.onStop(); 
    } 
    . 
    . 
    . 

org.greenrobot.eventbus.EventBusException: Subscriber class com.crowdlab.activities.LoadingActivity and its super classes have no public methods with the @Subscribe annotation. 

このような私のクラスを見ての最初の数行注釈はそこにあります。コンパイルはあまり警告なしで行われます。私はgradleファイルで指定されたバージョン3.0.0を使用しています...

何が間違っている可能性がありますか? (RTFMは感謝して受け入れられました。関連記事のあるFMがどこにあるかを教えてください)

ありがとう!

-Ken

答えて

7

Doh!私はGoogleの@SubscribeをGreen Robotsより選択しました。

import com.google.common.eventbus.Subscribe; 

ではなく

import org.greenrobot.eventbus.Subscribe; 

エラーはおそらく、 "何の方法のcom.greenrobot.eventbusの@Subscribeアノテーションを実装する" を読んでいないはずです。

+3

私にとってはProGuardが原因でした。修正はここにありました:http://greenrobot.org/eventbus/documentation/proguard/ – Yani2000

関連する問題