【发布时间】:2017-01-30 06:33:35
【问题描述】:
我的问题是加载数据需要很长时间并且仅在我滚动视图寻呼机时才显示。有几次我已经使用了 asynctask 但没有工作。更改标签后,我调用了相同的片段,有人帮我吗??
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();
}
}
这是我在异步任务上调用此函数的类别的片段
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,它实际上在数组列表中添加了片段类别,我也在异步任务中调用了这个函数
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);
}
【问题讨论】:
-
图片是存储在本地还是从互联网上获取的?
-
图片保存在drawable文件夹中
-
是单张图片还是根据大小不同的图片?
-
单张图片@Vidya Sagar
-
我也遇到过同样的问题。 Android 会根据屏幕分辨率自动尝试调整图像大小,这有时会导致视图填充延迟...使用在线资源并为每种分辨率生成图像,例如 hdpi、mdpi、xhdpi、xxhdpi 和 xxxhdpi。使用它们,您的问题就会得到解决
标签: android android-viewpager fragment