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
二维码
