作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在 Viewpager
中使用了 3 个 Fragments
,问题是我在 Asynctask
和加载器中加载大数据。在像 HTC one
这样的设备上,它运行良好,但是,在低端设备上,它会花费很多时间。这主要是因为当我实现 pagerAdapter
时,我将 fragment 放在 ArrayList
中,这会强制 fragment 在加载主 Activity 时实例化。我需要的是它只“加载”第一个 fragment (主 fragment ),当用户 Swype
时,加载另一个 fragment 。它有什么方法可以实现这一目标?这是我的页面适配器
public class PagerAdapter extends FragmentPagerAdapter {
private final ArrayList<Fragment> mFragments = new ArrayList<Fragment>();
// private final ArrayList<String> titulos = new ArrayList<String>();
// private int NUM_PAGES =0;
public PagerAdapter(FragmentManager manager,int num_pages) {
super(manager);
// this.NUM_PAGES = num_pages;
}
public void addFragment(Fragment fragment,String title) {
mFragments.add(fragment);
notifyDataSetChanged();
}
@Override
public int getCount() {
//return NUM_PAGES;
return mFragments.size();
}
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
}
最佳答案
Sun 的上述方法对我不起作用(也许对你有用),但我想我也会分享我对他的方法的编辑。 Sun 说的非常好的方法!
private boolean _hasLoadedOnce= false; // your boolean field
@Override
public void setUserVisibleHint(boolean isFragmentVisible_) {
super.setUserVisibleHint(true);
if (this.isVisible()) {
// we check that the fragment is becoming visible
if (isFragmentVisible_ && !_hasLoadedOnce) {
new NetCheck().execute();
_hasLoadedOnce = true;
}
}
}
关于java - 如何仅在选中时在 ViewPager 中加载 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19485848/
我正在开发一个需要能够平均三个数字的 Facebook 应用程序。但是,它总是返回 0 作为答案。这是我的代码: $y = 100; $n = 250; $m = 300; $number = ($y
我只是无法弄清楚这一点,也找不到任何对我来说有意义的类似问题。我的问题:我从数据库中提取记录,并在我的网页上以每个面板 12 条的倍数显示它们。因此,我需要知道有多少个面板可以使用 JavaScrip
我是一名优秀的程序员,十分优秀!