Android 将ViewPager与自定义视图组一起使用

Android 将ViewPager与自定义视图组一起使用,android,android-viewpager,viewgroup,Android,Android Viewpager,Viewgroup,我正在创建一个Android应用程序,我已经创建了几个自定义的视图组,希望在我的MainActivity中添加一个ViewPager,这样我就可以在视图之间来回滑动屏幕。但是,看起来添加到ViewPager的项目必须是一个片段。我是否需要为每个自定义视图组创建一个单独的片段,或者是否有办法直接添加它们?不,您不需要它 在FragmenaAdapter中,根据当前位置为每个片段设置所需的id布局 //碎片雷达 public class DynamicViewsFragmentAdapter ext

我正在创建一个Android应用程序,我已经创建了几个自定义的视图组,希望在我的MainActivity中添加一个ViewPager,这样我就可以在视图之间来回滑动屏幕。但是,看起来添加到ViewPager的项目必须是一个片段。我是否需要为每个自定义视图组创建一个单独的片段,或者是否有办法直接添加它们?

不,您不需要它

在FragmenaAdapter中,根据当前位置为每个片段设置所需的id布局

//碎片雷达

public class DynamicViewsFragmentAdapter extends FragmentStatePagerAdapter {

public DynamicViewsFragmentAdapter(FragmentActivity activity) {
    super(activity.getSupportFragmentManager());
}

@Override
public Fragment getItem(int position) {
    DynamicViewsFragment fragment = new DynamicViewsFragment();
    int idLayout = getIdLayoutBasedOnPosition(position);
    fragment.setIdLayout(idLayout);
    return fragment;
}

@Override
public int getCount() {
    return 3;
}

private int getIdLayoutBasedOnPosition(int position) {
    if(position == 0) return R.layout.one;
    else if (position == 1) return R.layout.one;
    else return R.layout.three;
}
}
//碎片

public class DynamicViewsFragment extends Fragment {

private int _idLayout;

public void setIdLayout(int idLayout) {
    _idLayout = idLayout;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    super.onCreateView(inflater, container, savedInstanceState);
    View rootView = inflater.inflate(_idLayout, container, false);
    return rootView;
}

}

谢谢你们两位的帮助。我开始使用valbertos解决方案,但我的应用程序崩溃了,因为我试图在设置之前访问idLayout。我最终找到了这个解决方案


并根据我的需要对其进行了修改,效果非常好!谢谢你们两位的建议

你根本不需要碎片,明白吗