android中相关的view和控件不是线程安全的,我们必须单独做处理。这里借此引出Handler的使用。

//出现CalledFromWrongThreadException
@Override
public void channelRead(final ChannelHandlerContext ctx, Object msg) throws Exception {
    super.channelRead(ctx, msg);
    EventBus.getDefault().post(new SMessage);
}    
//使用handler完美解决(或者使用广播解决UI更新的问题)
@Override
public void channelRead(final ChannelHandlerContext ctx, Object msg) throws Exception {
    super.channelRead(ctx, msg);
    new Handler(Looper.getMainLooper()).post(new Runnable() {
        @Override
        public void run() {
            EventBus.getDefault().post(sMessage);
        }
    });
}
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐