gpt4 book ai didi

android - 内部 fragment ViewPager 需要很长时间才能加载子 fragment

转载 作者:太空狗 更新时间:2023-10-29 13:53:53 26 4
gpt4 key购买 nike

我遇到的问题是加载数据需要很长时间,并且仅在我 ScrollView 寻呼机时才显示。有几次我已经使用了 asynctask 但没有用。更改选项卡后,我调用了相同的 fragment 有人帮助我吗??

Here, is first time loaded data

After changing tab call same fragment

这是我的 ViewPager 适配器

public class AdapterCategoryViewPager extends FragmentPagerAdapter {
Context context;
private List<Fragment> fragmentList;
private List<Type> typeList;

public AdapterCategoryViewPager(FragmentManager fm, Context context, List<Fragment> fragmentList, List<Type> typeList) {
super(fm);
this.context = context;
this.fragmentList = fragmentList;
this.typeList = typeList;
}


@Override
public Fragment getItem(int position) {
return fragmentList.get(position);
}

@Override
public CharSequence getPageTitle(int position) {
return typeList.get(position).getType().toString();
}

@Override
public int getCount() {
return fragmentList.size();
}
}

这是我在异步任务上调用的这个函数类别的 fragment

private void setData(View v)
{
addWomenCategory();
ll_list.removeView(v);
gridView.removeView(v);
gridView.setMode(PullToRefreshBase.Mode.PULL_FROM_END);
adapterCategory=new AdapterCategory(v.getContext(),categoryArrayList,height,width);
gridView.setAdapter(adapterCategory);
g=(GridView) gridView.getRefreshableView();
g.setHorizontalSpacing(h7);
g.setVerticalSpacing(h7);
// g.setEnabled(false);

gridView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<GridView>() {
@Override
public void onRefresh(final PullToRefreshBase<GridView> refreshView) {
gridView.postDelayed(new Runnable() {
@Override
public void run() {
refreshView.getLoadingLayoutProxy().setRefreshingLabel("Loding Data...");
refreshView.getLoadingLayoutProxy().setReleaseLabel("Refresh complete");
addWomenCategory();
adapterCategory.notifyDataSetChanged();
gridView.setRefreshing(false);
gridView.onRefreshComplete();

}
},2000);
}
});
}

这是我的 HomeFragment,它实际上在数组列表中添加了 fragment 类别,我也在异步任务中调用了这个函数

private void setData(View v)
{
addType();
pager.setOffscreenPageLimit(3);
adapterType=new AdapterType(typeArrayList,v.getContext(),height,width);
fragmentList.add(new FragmentListCategory());
fragmentList.add(new FragmentMenListCategory());
fragmentList.add(new FragmentKidListCategory());
fragmentList.add(new FragmentListCategory());
fragmentList.add(new FragmentMenListCategory());
fragmentList.add(new FragmentKidListCategory());

pager.setAdapter(new AdapterCategoryViewPager(getFragmentManager(),v.getContext(),fragmentList,typeArrayList));

tabs.setViewPager(pager);
setUpTabStrip(v);


}

最佳答案

我使用了通用图像加载器库来显示图像,我每次都在适配器中初始化它的对象来解决这个问题我在整个应用程序中只在主 Activity 的 onCreate() 方法中初始化该配置对象一次

关于android - 内部 fragment ViewPager 需要很长时间才能加载子 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41930167/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com