我使用viewpagerindicator,并且有6个片段与来自服务器的自定义列表视图。启动时,此活动看起来所有片段都在加载。我希望当片段启动刚刚打开、单击或滑动并加载时。尚未打开的片段将在打开时加载,稍后单击或滑动。怎么回事?
这是我的代码适配器视图页
import android.content.Context;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
public class ViewAdapter extends FragmentPagerAdapter{
private Context _context;
String[] page_titles;
public ViewAdapter(Context context, FragmentManager fm, String[] page_title){
super(fm);
_context = context;
this.page_titles = page_title;
}
@Override
public Fragment getItem(int position) {
// TODO Auto-generated method stub
Fragment f = new Fragment();
switch(position){
case 0:
f = ContentActivity.newInstance(_context);
break;
case 1:
f = ContentActivity.newInstance(_context);
break;
case 2:
f = ContentActivity.newInstance(_context);
break;
case 3:
f = ContentActivity.newInstance(_context);
break;
case 4:
f = ContentActivity.newInstance(_context);
break;
case 5:
f = ContentActivity.newInstance(_context);
break;
}
return f;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return page_titles.length;
}
public CharSequence getPageTitle(int position) {
return page_titles[position];
}
}
我已设置
pager = (ViewPager) findViewById(R.id.pager);
pager.setOffscreenPageLimit(1);
但是如果我从片段 0 滑动到片段索引 1,然后向后滑动到索引 0 或其他索引,总是重新加载内容,我想让如果向后滑动到上一个片段不再重新加载?
谢谢。。。对不起我的英语..
在适配器构造函数中创建一个片段数组,然后从getItem 返回已经创建的片段
Fragment[] f=new Fragment[6];
public ViewAdapter(Context context, FragmentManager fm, String[] page_title){
super(fm);
_context = context;
this.page_titles = page_title;
f[0] = ContentActivity.newInstance(_context);
f[1] = ContentActivity.newInstance(_context);
f[2] = ContentActivity.newInstance(_context);
f[3] = ContentActivity.newInstance(_context);
f[4] = ContentActivity.newInstance(_context);
f[5] = ContentActivity.newInstance(_context);
}
@Override
public Fragment getItem(int position) {
// TODO Auto-generated method stub
return f[position];
}