I use the viewpager to familiarize viewpager with the user, there are two screens, when both screens are finished, I must pass intent . Right now I have implemented viewpager and passed intent .
Here is what I have done so far:
Edited Source Code:
IntroActivity.java
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager); final ImagePagerAdapter adapter = new ImagePagerAdapter(); viewPager.setAdapter(adapter); OnPageChangeListener mListener = new OnPageChangeListener() { @Override public void onPageSelected(int arg0) { // TODO Auto-generated method stub selectedIndex = arg0; System.out.println("Selecte Page: " + selectedIndex); } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub if (mPageEnd && arg0 == selectedIndex) { Log.d(getClass().getName(), "Okay"); mPageEnd = false;// To avoid multiple calls. } else { mPageEnd = false; } } @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub if (selectedIndex == adapter.getCount() - 1) { mPageEnd = true; } } }; 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, 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); } }
Through them I can implement the viewpager , but as you can see, I called the intent on onTouchListener when the user is on the second screen.
My problem is that the user cannot see the first screen again if he wants, because of touchListener() , as soon as the user touches the screen, the intent is called.
I tried using the GestureListener for the fling action, but that also does not help me.
How can I solve this problem?
Any help would be appreciated.
source share