是否可以多次在 viewpager 中使用一个 fragment ?我正在尝试使用 ViewPager 构建一个动态更新的 UI。 我想使用相同的设计,基本上是相同的 fragment ,每个页面都有不同的数据,例如 ListView 适配器。
最佳答案
您可以为 ViewPager 中的每个页面实例化相同的 Fragment 类,传递 ViewPager 的位置来控制要显示的内容。类似的东西:
public class MyFragment extends Fragment {
private int mIndex;
public MyFragment(int index) {
mIndex = index;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
switch(mIndex){
case 0:
// do you things..
case 1:
// etcetera
}
}
}
然后,在你的 FragmentPagerAdapter 中:
public static class MyAdapter extends FragmentPagerAdapter {
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return NUM_ITEMS;
}
@Override
public Fragment getItem(int position) {
return new MyFragment(position);
}
}
这样您就可以重用大部分代码,仅更改 switch/case 语句中您需要的代码。
关于android - 多次在 ViewPager 中使用一个 Fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13431907/