gpt4 book ai didi

android - 奥托事件总线在单个帖子上接收多个事件

转载 作者:太空宇宙 更新时间:2023-11-03 12:17:36 26 4
gpt4 key购买 nike

我正在使用 Otto 和 Dagger。我的一些 Activity 仅在一个帖子中多次收到。

在我看来,发布事件:

@Inject Bus mBus;

在构造函数中:

((MyApplication) mContext.getApplicationContext()).inject(this);  

view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View view) {
Log.d(TAG, "Sending SearchResultClickedEvent.");
mBus.post(new SearchResultClickedEvent(mModel.getPlaceId()));
}
});

在我的订阅 Activity 的父类(super class)中:

@Inject protected Bus mBus;

onCreate() 中:

((HarryApplication) getApplicationContext()).inject(this);

在订阅 Activity 中:

@Subscribe
public void on(SearchResultsRecyclerViewHolder.SearchResultClickedEvent event) {
Log.d(TAG, "SearchResultClickedEvent received.");
}

单击后的日志:

03-26 12:59:51.496  24613-24613/D/SearchResultView﹕ Sending SearchResultClickedEvent.
03-26 12:59:51.496 24613-24613/D/Subscriber﹕SearchResultClickedEvent received.
03-26 12:59:51.497 24613-24613/D/Subscriber﹕SearchResultClickedEvent received.
03-26 12:59:51.499 24613-24613/D/Subscriber﹕SearchResultClickedEvent received.

最佳答案

我没有注销我的事件总线对象。

添加了这个并且它按预期工作:

  @Override protected void onPause() {
super.onPause();
mBus.unregister(this);
}

关于android - 奥托事件总线在单个帖子上接收多个事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29285975/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com