2014-10-08 37 views
1

我試圖從相同的片斷訂閱和發佈,但是當我嘗試註冊的片段,我得到這個錯誤:使用Otto製作和訂閱活動是不可能的?

...(my method) has @Produce annotation but requires 1 arguments. Methods must require zero arguments. 

BusProvider.getInstance().register(this); 

所以我想這不是可能的,但也許有沒有額外接口的替代品。

在此先感謝!

回答

4

@Produce註釋的方法不得帶任何參數。他們應該只返回事件對象。

「我正在嘗試訂閱和發佈」建議您可能需要將其更改爲@Subscribe註釋。

對於發佈活動,只需使用post()@Produce用於返回事件的最新值。

+0

我需要發佈1個對象並從另一個地方接收1個對象。我需要針對不同對象的兩種操作。 – Motheus 2014-10-08 07:00:18

+0

然後使用'post()'進行發佈。 – laalto 2014-10-08 07:00:55

+1

哦謝謝!我認爲有必要始終編寫@Produce +方法。 – Motheus 2014-10-08 07:03:20