2017-06-15 101 views
0

我正在使用Greenrobot EventBus 3.0.0。我有一個類A和它接收到的對象類Event.In Al改性該對象並將其傳遞到下一個活動B.訂閱和發佈來自同一類的相同事件

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


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


@Subscribe(sticky = true, threadMode = ThreadMode.MAIN) 
    public void onRowClicked(RequestDTO requestDTO) { 
     if (requestDTO!= null) { 
      EventBus.getDefault().post(requestDTO); 
      startActivity(new Intent(this, ActivityB.class)); 
     } 

    } 

的問題是,它停留在無限循環,因爲發佈者和訂閱相同event.How解決這個問題?

+0

發佈另一種類型的事件,而不是同一個事件。這種方法有什麼問題? – azizbekian

回答

0

這看起來很好笑。你真的想做什麼?您可以在調用事件的第二篇文章之前取消註冊當前活動。但是,你確定,你的第二項活動將由Android系統準備,當你的活動進入時? EventBus回調並非如此。如果我是你,我會以普通的舊意圖傳遞數據。或者,如果您真的需要這種動態 - 您可以手動調用您的ActivityB的onRowClicked方法,修改後的RequestDTO對象