gpt4 book ai didi

java - Eventbus 事件订阅者

转载 作者:行者123 更新时间:2023-11-29 19:02:42 26 4
gpt4 key购买 nike

我在 android 中学习事件总线(http://greenrobot.org),我有以下代码

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

EventBus.getDefault().register(this);
EventBus.getDefault().post(new Message("John Testing this event"));
}



@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEventOne(Message message) {
Log.d("ApiCall_1",message.getMessage());
Toast.makeText(getApplicationContext(), message.getMessage(), Toast.LENGTH_SHORT).show();
}

@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEventTwo(Message message) {
Log.d("ApiCall_2",message.getMessage());
Toast.makeText(getApplicationContext(), message.getMessage(), Toast.LENGTH_SHORT).show();
}


@Override
public void onStart() {

super.onStart();


}

@Override
public void onStop() {

EventBus.getDefault().unregister(this);
super.onStop();

以上触发了订阅者 onMessageEventOneonMessageEventtwo。所以我的问题是1.有没有办法触发特定的订阅者?

最佳答案

通过 EventBus,您可以订阅特定类型 的广播。如果您希望在同一个 Activity 中调用不同的函数,则需要广播不同的类型。

关于java - Eventbus 事件订阅者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48369026/

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