eventbus无法更新UI的问题解决

今天在使用eventbus进行消息传递时,发现无法进行UI操作

 /**
     * 接收消息,接收方可接受此消息
     */

    @Subscribe(threadMode = ThreadMode.MAIN)
    public void MessageEventBus(Teacher teacher) {
        //显示接受的消息
        Log.d("Subscribe result is -->", teacher.getTname());
        nav_username.setText(teacher.getTname());

    }

Log.d也可以正常的打印出由json解析出的字符串


        //获取nav_header_main中的,menu_username用于动态更新
        View headerLayout = navigationView.inflateHeaderView(R.layout.nav_header_main);
        nav_username = (TextView) headerLayout.findViewById(R.id.menu_username);

获取textview也没有问题

想了半天后才想起来,将对eventbus的注册放在了text view的初始化之后,相当于还没初始化就更新了ui,只要将

 EventBus.getDefault().register(this);

放在onCreate中的最后面即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值