viewpager数据怎么刷新
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了viewpager数据怎么刷新相关的知识,希望对你有一定的参考价值。
参考技术A 在viewpager绑定的时候用LayoutInflater去找每个pager然后放到list中 这样你就可以通过list去找到每个pager中的view。我也是新手,最近刚在弄,希望能帮到你! 查看原帖>>解决ViewPager缓存导致不能实时刷新数据
ViewPager+Fragment,但是Fragment有个不好或者太好的地方。例如你在ViewPager中添加了三个Fragment,当加载ViewPager中第一个Fragment时,它会默认帮你预先加载了第二个Fragment,当你加载第二个Fragment时,它会帮你加载第三个Fragment。
这样用户使用的体验是不错的,但是这样可能导致每次滑动切换页面时,显示的数据都不是最新的数据。而是ViewPager预加载从内存中读取的数据。
我们怎么去解决这种问题。及时的去刷新数据。
在fragment中有这样两个个方法 void setUserVisibleHint(boolean isVisibleToUser)、boolean getUserVisibleHint() 这两个方法分别是设置fragment可见状态和获取当前fragment可见
状态,取消预加载我们应该在这里面去进行设置。在BaseFrament中去写这样一段逻辑。
public
abstract
class
BaseFragment
extends
Fragment {
/** Fragment当前状态是否可见 */
protected
boolean
isVisible;
@Override
public
void
setUserVisibleHint(
boolean
isVisibleToUser) {
super
.setUserVisibleHint(isVisibleToUser);
if
(getUserVisibleHint()) {
isVisible =
true
;
v
isible();
}
else
{
isVisible =
false
;
i
nVisible();
}
}
/**
* 可见
*/
protected
void
visible() {
loadData
();
}
/**
* 不可见
*/
protected
void
inVisible() {
}
/**
* 延迟加载
* 子类必须重写此方法
*/
protected
abstract
void
loadData();
}
以上是关于viewpager数据怎么刷新的主要内容,如果未能解决你的问题,请参考以下文章
android,swiperefreshlayout与viewPager下拉冲突,没滑到顶部就刷新了,怎么解决啊??