在片段中添加 Viewpager
Posted
技术标签:
【中文标题】在片段中添加 Viewpager【英文标题】:Add Viewpager in fragment 【发布时间】:2016-09-17 16:53:21 【问题描述】:您好,我使用片段创建了我的应用程序,我需要在其中一个片段中实现viewpager
(因为viewpager
用户可以在不同信息之间滑动(关于使用我当前正在开发的应用程序。我假设会有是 3 到 5 个带有文本和详细信息的视图))。波纹管是当前片段的代码。你们能给我一个想法,在片段中实现Viewpager
的最佳方法是什么,假设有 3 个视图,每个视图上都会有 3 或 4 个东西(Imageview、Textview 等)。我已经在其他活动中实现了Viewpager
,但这是我第一次在片段中实现它。它的逻辑是什么。我尝试使用谷歌,但听起来很复杂。
public class AboutSectionFragment extends Fragment
// The onCreateView method is called when Fragment should create its View object hierarchy,
// either dynamically or via XML layout inflation.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState)
View rootView = inflater.inflate(R.layout.about_section, parent, false);
// Defines the xml file for the fragment
return rootView ;
// This event is triggered soon after onCreateView().
// Any view setup should occur here. E.g., view lookups and attaching view listeners.
@Override
public void onViewCreated(View view, Bundle savedInstanceState)
【问题讨论】:
【参考方案1】:我在片段中使用了 ViewPager,它对我来说工作正常。
片段类
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
View view = inflater.inflate(R.layout.home_content, container, false);
fragments = getFragmentsList();
pagerAdapter = new HomeViewPagerAdapter(getChildFragmentManager(),fragments);
ViewPager = (ViewPager) view.findViewById(R.id.Home_View_Pager);
ViewPager.setAdapter(pagerAdapter);
private ArrayList<Fragment> getFragmentsList()
fragments = new ArrayList<>();
fragments.add(HomeViewPagerFragment.getInstance());
fragments.add(HomeViewPagerFragment.getInstance());
fragments.add(HomeViewPagerFragment.getInstance());
fragments.add(HomeViewPagerFragment.getInstance());
fragments.add(HomeViewPagerFragment.getInstance());
return fragments;
ViewPager 片段类
public class HomeViewPagerFragment extends Fragment
public static HomeViewPagerFragment getInstance()
HomeViewPagerFragment fragment = new HomeViewPagerFragment();
return fragment;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
View view = inflater.inflate(R.layout.home_pager_fragment_layout,container,false);
return view;
【讨论】:
以上是关于在片段中添加 Viewpager的主要内容,如果未能解决你的问题,请参考以下文章