美文网首页
Android开发之ViewPager中复用Fragment

Android开发之ViewPager中复用Fragment

作者: 我是谢叔叔 | 来源:发表于2016-12-06 22:49 被阅读0次

    现象

    最近公司项目中使用最常见的模式ViewPager中嵌套Fragment,之前在写框架的时候,发现ViewPager中的嵌套三个Fragment布局是一样的,只是数据源不一样,所以复用了Fragment。但是,今天在调试的时候的发现Volley请求数据的时候,第一个Fragment加载数据的时候出现问题了。

    问题原因

    Volley请求数据的时候,每次请求的时候会加Tag标记,发起请求的时候会根据Tag来取消请求队列中的请求。ViewPager中使用PagerAdapter的时候,加载的时候会预加载相邻Fragment,所以每次都有两次请求发起。因为框架中Tag没有改变,导致第二次求请求将会取消前一次请求,导致前一个界面数据加载异常。

    解决问题

    问题的原因找到了,解决办法就是在创建Fragment的时候,通过setArguments传入参数,然后对应Tag或者对应请求的操作以及数据相关的操作。

    相关文章

      网友评论

          本文标题:Android开发之ViewPager中复用Fragment

          本文链接:https://www.haomeiwen.com/subject/jdxdmttx.html