Onclick On View Pager In Android Does Not Work In My Code
i have implemented view pager in my code and i have put on-click listener on view pager but my on-click listener does not working i'll post my code viewpager.setOnClickListener(ne
Solution 1:
I implemented custom ViewPager
:
publicclassClickableViewPagerextendsViewPager {
private OnClickListener mOnClickListener;
publicClickableViewPager(Context context) {
super(context);
setup();
}
publicClickableViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
setup();
}
privatevoidsetup() {
finalGestureDetectortapGestureDetector=newGestureDetector(getContext(), newTapGestureListener());
setOnTouchListener(newOnTouchListener() {
@OverridepublicbooleanonTouch(View v, MotionEvent event) {
tapGestureDetector.onTouchEvent(event);
returnfalse;
}
});
}
publicvoidsetOnViewPagerClickListener(OnClickListener onClickListener) {
mOnClickListener = onClickListener;
}
publicinterfaceOnClickListener {
voidonViewPagerClick(ViewPager viewPager);
}
privateclassTapGestureListenerextendsGestureDetector.SimpleOnGestureListener {
@OverridepublicbooleanonSingleTapConfirmed(MotionEvent e) {
if(mOnClickListener != null) {
mOnClickListener.onViewPagerClick(ClickableViewPager.this);
}
returntrue;
}
}
}
And example how to implement onClickListener
:
ClickableViewPagerviewPager= (ClickableViewPager) findViewById(R.id.viewPager);
mViewPager.setOnViewPagerClickListener(newClickableViewPager.OnClickListener() {
@OverridepublicvoidonViewPagerClick(ViewPager viewPager) {
//yourCode
}
});
Solution 2:
Use clicklistener inside the item of ViewPager. This is not working because Child of ViewPager is intercepting event of parent(i.e ViewPager). E.G if you are adding ImageView inside ViewPager using PagerAdapter then use click of ImageView to make it simple
Solution 3:
There is no onClick listener in ViewPager, You can use the same effect by using a Recyclerview instead of a ViewPager is shown as below
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view_scroll_page"
android:layout_width="wrap_content"
android:layout_height="250dp"
android:orientation="horizontal"
app:layoutManager="android.support.v7.widget.LinearLayoutManager"/>
Using Recyclerview as horizontal then you can scroll it and get the click events. Please note that use the RecyclerView.Adapter
Post a Comment for "Onclick On View Pager In Android Does Not Work In My Code"