Android OkHttp中调用Handler.post更新UI,在Fragment中无效! 40C

我用OkHttp enqueue异步请求数据,然后用所得到的数据更新UI,在Activity中没什么问题
但在MainAcitivity中的ViewPage的Fragment中调用时出现了Hnadler.post(。。。)中的
代码没有执行的情况。很困惑,求高见!!!

7个回答

你这样做有很大的安全隐患啊。异步操作,关键的地方加安全锁,
你Fragment完成控件加载后,先待机,等数据出来了,在刷新UI。

查一查是否是因为Fragment生命周期导致的问题

fragment还没有初始化

查一查是否是因为Fragment生命周期导致的问题

fragment还没有初始化

我知道原因了,是我逻辑有问题,我是先从Handler.post中得到数据然后把数据赋给类中的List

然后更新UI的时候用List更新数据。这时候就会出现List为空的情况,因为List的赋值是在消

息队列中的要等Loop的死循环执行到这个消息的时候才会赋值,所以就出现了更新UI时List

为空的情况。并不是代码没有执行,而是Fragment更新UI操作的时候,那个消息还执行。。。

干活前,先缕逻辑,出错少,省时省力

UI顺序,先初始化view,调用接口获取数据。然后在回调中刷新ui

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问