Android 将ViewPager与自定义视图组一起使用
我正在创建一个Android应用程序,我已经创建了几个自定义的视图组,希望在我的MainActivity中添加一个ViewPager,这样我就可以在视图之间来回滑动屏幕。但是,看起来添加到ViewPager的项目必须是一个片段。我是否需要为每个自定义视图组创建一个单独的片段,或者是否有办法直接添加它们?不,您不需要它 在FragmenaAdapter中,根据当前位置为每个片段设置所需的id布局 //碎片雷达Android 将ViewPager与自定义视图组一起使用,android,android-viewpager,viewgroup,Android,Android Viewpager,Viewgroup,我正在创建一个Android应用程序,我已经创建了几个自定义的视图组,希望在我的MainActivity中添加一个ViewPager,这样我就可以在视图之间来回滑动屏幕。但是,看起来添加到ViewPager的项目必须是一个片段。我是否需要为每个自定义视图组创建一个单独的片段,或者是否有办法直接添加它们?不,您不需要它 在FragmenaAdapter中,根据当前位置为每个片段设置所需的id布局 //碎片雷达 public class DynamicViewsFragmentAdapter ext
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。我最终找到了这个解决方案
并根据我的需要对其进行了修改,效果非常好!谢谢你们两位的建议 你根本不需要碎片,明白吗