Android ViewPager创建重复视图
这是我正在使用的Android ViewPager创建重复视图,android,android-fragments,android-viewpager,Android,Android Fragments,Android Viewpager,这是我正在使用的分页适配器: public class PagingAdapter extends FragmentStatePagerAdapter { Context context; public PagingAdapter(FragmentManager fm, Context con) { super(fm); context = con; } @Override public Fragment getItem
分页适配器
:
public class PagingAdapter extends FragmentStatePagerAdapter {
Context context;
public PagingAdapter(FragmentManager fm, Context con) {
super(fm);
context = con;
}
@Override
public Fragment getItem(int index) {
try {
switch (index) {
case 0:
return Fragment.instantiate(context, ActivityFragment.class.getName());
case 1:
return Fragment.instantiate(context, GroupFragment.class.getName());
case 2:
return Fragment.instantiate(context, MessageFragment.class.getName());
case 3:
return Fragment.instantiate(context, NotificationFragment.class.getName());
}
return null;
}
catch (Exception ex)
{
ex.printStackTrace();
return null;
}
}
@Override
public int getCount() {
// get item count - equal to number of tabs
return 4;
}
}
这将为前两个选项卡创建相同的视图。我希望所有选项卡都有单独的内容。我正在所有4个选项卡中放置
WebView
在活动中,我正在这样做:
mViewPager.setOffscreenPageLimit(3);
首先,您的方法
实例化是否返回一个片段
它是否使用setArguements
在该方法中隐式添加参数?如果不是,您可能希望更改为该参数。另一方面,FragmentManager将在需要时调用每个片段的默认构造函数。因此,您必须保留它们(不要重载构造函数),并在destroyItem中尝试真正删除片段
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
getFragmentManager().beginTransaction().remove((Fragment)(object)).commit();
}
在适配器中使用SparseArray
,在getItem
中使用new
实例化片段,如
return new ActivityFragment();
如果要添加捆绑信息,请首先创建片段,然后在
fragment.setArgument(bundle);
在给super打电话之前,在你的deateyItem中使用这些线路
if(0<=sparseArray.indexOfKey(position))
sparseArray.remove(position);
如果(0你所说的“独立视图”是什么意思?你确定你没有将错误的布局放大吗
GroupClassFragment.java class
请检查该方法
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View myCorrectView = inflater.inflate(R.layout.my_correct_view,container,false);
return myCorrectView;
}
你期待什么?@Blackbelt:谢谢。我希望所有选项卡都有单独的内容。每个Web视图应该加载不同的内容?建议:切换到使用FragmentPagerAdapter
,因为你只有4个页面,而且你正在保存最近的3个页面,这些页面现在都在屏幕外。另外,你能为显示si的页面显示Web视图加载代码吗相似的内容。。