自定义视图中的EventBus

忠孝

我正在自定义视图,我想从那里监听事件。我创建了一个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 {

}

}

不能工作吗?

在此处输入图片说明

它适用于我的测试代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章