Having problem showing Fragment inside a ViewPager.
I have a ViewPager which was hosted inside Fragment where this Fragment was inside the Activity. This ViewPager has a pagerTabStrip. Each page in ViewPager are Fragment of special usage.
This is how I setup the viewpager with PagerAdapter
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_pager_screen,
container, false);
ViewPager pager = (ViewPager) rootView.findViewById(R.id.vp_main);
pager.setAdapter(new MainTabAdapter(rootView.getContext(),getFragmentManager()));
return rootView;
}
This is fine, I can see the pager. Within the MainTabAdapter I have a getItem which I select differnt fragments.
@Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
Log.w("ALBUM", types[arg0].toString());
Fragment fragment = FragmentType.getFragment(types[arg0]);
return fragment;
}
This is fine too. I can get the right fragment. When showing the Fragment of different page, none of them showing. Below is my code on one of the Fragment to inflating an xml
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_local_screen,
container, false);
Bundle data = new Bundle();
data.putStringArray("PROJECTION", new String [] {
MediaStore.Video.VideoColumns._ID,
MediaStore.Video.VideoColumns.BUCKET_DISPLAY_NAME,
MediaStore.Video.VideoColumns.BUCKET_ID,
MediaStore.Video.VideoColumns.DATE_TAKEN,
MediaStore.Video.VideoColumns.DATE_ADDED,
MediaStore.Video.VideoColumns.DESCRIPTION,
MediaStore.Video.VideoColumns.DURATION});
data.putString("SELECTION", null);
data.putStringArray("SELECTIONARRAY", null);
data.putString("SORTORDER", MediaStore.Video.VideoColumns.BUCKET_DISPLAY_NAME + " LIMIT " + mLimit);
VideoCursorAdapter adapter = new VideoCursorAdapter(getActivity(),null,true);
LocalVideos videos = new LocalVideos(getActivity(), adapter);
getLoaderManager().initLoader(LocalVideos.LoaderID.THUMBNAIL.getID(), data, videos);
ListView listView = (ListView)rootView.findViewById(R.id.listVideos);
//listView.setAdapter(adapter);
videos.setView(listView);
return rootView;
This works, if I remove the viewpager. When I put the ViewPager code, this fragment doesn't show up.