Android 片段中的片段 ViewPager
Android FragmentViewPager in Fragment
我正在尝试在我的片段中实现 ViewPager。这是我的代码:
父片段:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_parent, container, false);
ViewPager viewPager = (ViewPager) view.findViewById(R.id.viewPager);
adapter = new CustomPagerAdapter(getChildFragmentManager());
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(0);
return view;
}
子片段:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_child, container, false);
return v;
}
适配器:
public class CustomPagerAdapter extends FragmentPagerAdapter {
public CustomPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return new ChildFragment();
}
@Override
public int getCount() {
return 3;
}
}
所以经过一段时间的搜索我发现,我需要使用
getChildFragmentManager()
而不是
getFragmentManager()
但是没有任何反应!有了子片段就可以了,这可以显示为单个片段,但在我的视图寻呼机中却没有。
宽度和高度无处不在 "match_parent"。
viewPager 在 LinearLayout 中,而 LinearLayout 在 scrollView 中。滚动视图可能是原因吗?
我没有任何想法了。有人可以帮忙吗?非常感谢! :)
编辑:
我用过这个图:
How to implement a ViewPager with different Fragments / Layouts
添加:
android:fillViewport="true"
到您的滚动视图
我正在尝试在我的片段中实现 ViewPager。这是我的代码:
父片段:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_parent, container, false);
ViewPager viewPager = (ViewPager) view.findViewById(R.id.viewPager);
adapter = new CustomPagerAdapter(getChildFragmentManager());
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(0);
return view;
}
子片段:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_child, container, false);
return v;
}
适配器:
public class CustomPagerAdapter extends FragmentPagerAdapter {
public CustomPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return new ChildFragment();
}
@Override
public int getCount() {
return 3;
}
}
所以经过一段时间的搜索我发现,我需要使用
getChildFragmentManager()
而不是
getFragmentManager()
但是没有任何反应!有了子片段就可以了,这可以显示为单个片段,但在我的视图寻呼机中却没有。 宽度和高度无处不在 "match_parent"。 viewPager 在 LinearLayout 中,而 LinearLayout 在 scrollView 中。滚动视图可能是原因吗? 我没有任何想法了。有人可以帮忙吗?非常感谢! :)
编辑: 我用过这个图: How to implement a ViewPager with different Fragments / Layouts
添加:
android:fillViewport="true"
到您的滚动视图