Fragment异步加载网络数据不显示

我一个ViewPager里有四个Fragment,然后启动应用后默认显示第一个Fragment,第一个Fragment需要从网络获取数据来设置UI的属性,所以我在第一个Fragment类中写了一个异步操作获取网络数据然后赋属性给UI,这个Fragment中还有一个按钮,点击按钮会再次从网络获取数据然后刷新UI。可是当我打开app的时候,第一个Fragment并没有显示网络数据,只有当我点击刷新按钮的时候,数据才能被显示出来。另外如果我滑动到其它几个Fragment,再滑动回第一个Fragment时,第一个Fragment也会显示网络数据。请问这怎么解决?是不是和Fragment生命周期有关?

9个回答

会不会是你初始化的时候没有从网络获取数据,即初始化完成后才从网络获取到数据?最简单的办法是,在初始化之后自动调用刷新的函数就好了

获取完网络数据后要发消息通知更新UI

两个问题,你在fragment初始化的时候调用请求网络数据的方法了没有?如果有,获取数据后有没有去更新UI?

一看就是生命周期不熟,多看看,你就知道问题

在网络请求到数据之后,需要执行mAdapter.notifyDataSetChanged();数据才会刷新,比如你用的是okhttp,你就要在successd方法里写上这句话

异步加载的方法你调用没有?

异步加载的方法你调用没有?

楼主解决了吗 同求..?

楼主,我也遇到了这个问题

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