Reputation:
Hello I created my app using fragments and I need to implement a viewpager
in one of them (In that viewpager
user can swipe between different information (about using the application that I am currently developing. I assume there will be 3 to 5 views with text and details)). Bellow is the code to current fragment. Can you guys give me an idea what would be the best way to implement Viewpager
in fragment with let's say 3 views and every view will have like 3 or 4 things on it(Imageview,Textview etc). I have already implemented Viewpager
in other activity but this is my first time I'm implementing it inside a fragment. What's the logic about it. I tried using google but it sound to complicated.
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) {
}
}
Upvotes: 1
Views: 231
Reputation: 1123
I have used ViewPager inside a fragment and its working fine for me.
Fragment class
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 Fragment Class
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;
}
}
Upvotes: 1