chenrenxiang
chenrenxiang
采纳率13.3%
2015-10-23 16:31 阅读 3.9k

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

9条回答 默认 最新

  • u012263331 myleo_lost-a-horse 2015-10-24 01:45

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

    点赞 2 评论 复制链接分享
  • qgpo1233 qgpo1233 2015-10-24 06:28

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

    点赞 2 评论 复制链接分享
  • u010214991 _H_JY 2015-10-25 05:58

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

    点赞 1 评论 复制链接分享
  • menglele1314 随意而然 2015-10-26 05:37

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

    点赞 1 评论 复制链接分享
  • yx123yp yx123yp 2017-12-14 02:25

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

    点赞 1 评论 复制链接分享
  • dongfeng9ge 东风玖哥 2015-10-24 03:00

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

    点赞 评论 复制链接分享
  • dongfeng9ge 东风玖哥 2015-10-24 03:00

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

    点赞 评论 复制链接分享
  • u010426462 O灵魂攻城狮O 2016-06-06 05:40

    楼主解决了吗 同求..?

    点赞 评论 复制链接分享
  • lyc_xiaochao 猿代码丶 2017-09-07 03:02

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

    点赞 评论 复制链接分享

相关推荐