Java – viewpager is called actvity after completion.
•
Java
I'm developing an application. I have to use viewpager. After all the projects in viewpager are completed, I have to call an activity I can't get an event listener for this This is what I have been recommending: @ h_ 404_ 2@ https://github.com/chiuki/android-swipe-image-viewer/blob/master/src/com/sqisland/android/swipe_image_viewer/MainActivity.java
This is what I have done so far:
public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager); ImagePagerAdapter adapter = new ImagePagerAdapter(); viewPager.setAdapter(adapter); OnPagechangelistener mListener = new OnPagechangelistener() { @Override public void onPageSelected(int arg0) { // TODO Auto-generated method stub } @Override public void onPageScrolled(int arg0,float arg1,int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { Log.i("Doing something here","On Scroll state changed"); } }; viewPager.setOnPagechangelistener(mListener); } private class ImagePagerAdapter extends PagerAdapter { private int[] mImages = new int[] { R.drawable.libin1,R.drawable.libin2 }; @Override public int getCount() { return mImages.length; } @Override public boolean isViewFromObject(View view,Object object) { return view == ((ImageView) object); } @Override public Object instantiateItem(ViewGroup container,int position) { Context context = MainActivity.this; ImageView imageView = new ImageView(context); int padding = context.getResources().getDimensionPixelSize( R.dimen.padding_medium); imageView.setPadding(padding,padding,padding); imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); imageView.setImageResource(mImages[position]); ((ViewPager) container).addView(imageView,0); return imageView; } @Override public void destroyItem(ViewGroup container,int position,Object object) { ((ViewPager) container).removeView((ImageView) object); } } }
My question is how to get the event listener if all the projects in the viewpager have been completed
Any kind of help will be greatly appreciated
Solution
private OnPagechangelistener mListener = new OnPagechangelistener() {
private OnPagechangelistener mListener = new OnPagechangelistener() { @Override public void onPageSelected(int arg0) { // TODO Auto-generated method stub selectedIndex = arg0; } boolean callHappened; @Override public void onPageScrolled(int arg0,int arg2) { // TODO Auto-generated method stub if( mPageEnd && arg0 == selectedIndex && !callHappened) { Log.d(getClass().getName(),"Okay"); mPageEnd = false;//To avoid multiple calls. callHappened = true; }else { mPageEnd = false; } } @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub if(selectedIndex == adapter.getCount() - 1) { mPageEnd = true; } } }; ViewPager.setOnPagechangelistener(mListener);
Onpagescrolled or onpageselected you can use any of these here and also check that the selected page is equal to the number of items in the viewpager
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码