gpt4 book ai didi

android - 自定义 View 中的 EventBus

转载 作者:太空狗 更新时间:2023-10-29 13:51:30 61 4
gpt4 key购买 nike

我正在自定义一个 View ,我想从那里收听事件。我创建了一个 show() 和 hide() 方法,然后将 register 和 unregister 放在这些方法中。但我试着把

public class CalculatorView extends RelativeLayout {
.......

public void show() {
Log.i("hieu", "eventBus register");
EventBus.getDefault().register(this);
}

public void hide() {
EventBus.getDefault().unregister(this);
Log.i("hieu", "eventBus unreg");
}

@Subscribe(threadMode = ThreadMode.MAIN)
public void onEvent(EventBusMessage eventBusMessage)
{ Log.i("hieu", ""); }

但是它没有在onEvent中跳转。我正在使用 EventBus 3.0.0。如何存档?谢谢。

最佳答案

public class ApplicationTest extends ApplicationTestCase<Application> {
public ApplicationTest() {
super(Application.class);
}

public void testRun() {
CalculatorView view = new CalculatorView(getContext());
view.show();
EventBus.getDefault().post(new EventBusMessage());
view.hide();
}

public class CalculatorView extends RelativeLayout {

public CalculatorView(Context context) {
super(context);
}

public void show() {
Log.i("hieu", "eventBus register");
EventBus.getDefault().register(this);
}

public void hide() {
EventBus.getDefault().unregister(this);
Log.i("hieu", "eventBus unreg");
}

public void onEvent(EventBusMessage eventBusMessage) {
Log.i("hieu", "");
}
}

class EventBusMessage {

}

这行不通吗?

enter image description here

它适用于我的测试代码。

关于android - 自定义 View 中的 EventBus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46416942/

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