過去幾天我一直在玩奧托,這真是太神奇了。然而,我遇到了一個問題,我試圖從片段與Activity進行通信。爲了簡單起見,我有一個用於保存片段的Activity,並且在片段中我有一個Button,它只是簡單地發佈一個事件。奧托從片段到活動溝通
@Inject Bus bus;
...
...
bus.post(new ReadStatusEvent("23"));
在我有一個訂閱方法的活動。
@Subscribe
public void onReadStatusEvent(ReadStatusEvent event){
Timber.i("sub:"+event.getReadStatusID());
}
這裏是事件
public class ReadStatusEvent {
private final String readStatusID;
public ReadStatusEvent(String readStatusID) { this.readStatusID = readStatusID; }
public String getReadStatusID() { return readStatusID; }
}
我用匕首,所以我的奧托總線是單這被注入b y SimpleModule文件。
@Provides @Singleton
Bus provideBus() {
return new Bus(ThreadEnforcer.ANY);
}
我一直在這一整天,但由於某種原因,訂閱方法從來沒有被調用。
編輯:我使用Otto plugin for Android Studio只是嘗試,每當我點擊@Subscribe或bus.post(..),它不斷尋找,但沒有找到任何東西(沒有使用迄今發現的)。我想我在某個地方做了非常錯誤的事情。
該插件目前被破壞,所以它不是你。 – Krylez