While using View Pager inside View Pager , not showing item of child view pager
getChildFragmentManager()
Returns a private FragmentManager for placing and managing Fragments inside of a Fragment.
getSupportFragmentManager()
Returns the FragmentManager for interacting with fragments associated with this fragment’s activity.
In your method related to child view pager
ViewpageAdapterFrg FirstAdapter=new ViewpageAdapterFrg(getChildFragmentManager());
FirstAdapter.fragmentAdd(new NormalRpmFragment(),"Normal");
FirstAdapter.fragmentAdd(new AwesomeRpmFragment(),"Awesome");
FirstAdapter.fragmentAdd(new PointerRpmFragment(),"Pointer");
FirstAdapter.fragmentAdd(new ProgressRpmFragment(),"Pointer");
FirstAdapter.fragmentAdd(new DeluxeRpmFragment(),"Deluxe");
viewPager.setAdapter(FirstAdapter);
Log.d("speedViewFragemnt",String.valueOf(viewPager.getCurrentItem()));
tabLayout.setupWithViewPager(viewPager);
Fragment inside ViewPager inside ViewGroup
Ok, after a night of research and reading the API I figured it out. I don't understand everything but it seems the v13 and v4 library have a conflict.
To override it, firstly :
- Make sure that you called getChildFragmentManager() instead of getFragmentManager()
- Create a different ID for all the different viewpageryou have. Those IDs must have at least 4 digits. Of course, it is better to have those in R.String
- Set your ID in every viewpager by calling setID()
- If it doesn't work, please clean and rebuild your project.
And finally, the reward :
I hope that it will help.
TabLayout inside ViewPager prohibits swiping
TabLayout
is a subclass of HorizontalScrollView
, which in turn is a subclass of ScrollView
. If you disable horizontal scrolling, then the MotionEvent
won't be swallowed by TabLayout
, instead would be passed higher up the view hierarchy - to ViewPager
.
You can subclass TabLayout
performing following changes:
public class MyTabLayout extends TabLayout {
public MyTabLayout(Context context) {
super(context);
}
public MyTabLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyTabLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
return false;
default:
return super.onTouchEvent(ev);
}
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return false;
}
}
Output:
How to use viewpager inside nestedScrollView with a view top of viewpager
So I have finally resolved this problem by just creating Custom Viewpager as mentioned here: Custom ViewPager that calculate ViewPager height and setNestedScrollingEnable(false) to RecyclerView inside Viewpager. By setting NestedScrollingEnalbe = false Recyclerview does set parent NestedScrollView's scroll. So Parent NestedScrollView works with inside Viewpager.
Related Topics
Display Fb Profile Pic in Circular Image View in Application
Android Getorientation Azimuth Gets Polluted When Phone Is Tilted
Android Access to Remote SQL Database
Android - Way to Appear Bordered Text on the Textview
Android - What Is the Meaning of Stableids
Align Top of Image to Top of Textview
How to Prevent Multiple Toast Overlaps
Get Last Inserted Value from SQLite Database Android
Android Mediaplayer/Videoview Error (1, -2147483648)
How to Parse the CSV File in Android Application
Android:Understanding Drawable Folder
Center Align Title in Action Bar Using Styles in Android