【问题标题】:Add Viewpager in fragment在片段中添加 Viewpager
【发布时间】: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) {

    }
    }

【问题讨论】:

    标签: android-layout android-fragments android-studio fragment


    【解决方案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;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-13
      • 1970-01-01
      相关资源
      最近更新 更多