标签:ext svi 显示 第一个 false proc 一段 keyword 方法
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; visible(); } else { isVisible = false; inVisible(); } } /** * 可见 */ protected void visible() { loadData(); } /** * 不可见 */ protected void inVisible() { } /** * 延迟加载 * 子类必须重写此方法 */ protected abstract void loadData();}标签:ext svi 显示 第一个 false proc 一段 keyword 方法
原文地址:http://www.cnblogs.com/lyjsmile/p/7434694.html