title: Android view pager change pages automatically after a few seconds
body: <p>I have used android view pager to display images and text now what i want is that if a user is not changing the images then it should start  to change the images automatically after a few seconds and when the user again starts using his finger then the images should not change automatically?</p>
  
  <p>I tried to use the handler to create a delay but it did not worked for me?</p>
  
  <p>Please help anyone</p>
  
  <pre><code>public class SimpleImageViewerActivity  extends Activity implements ViewPager.OnPageChangeListener{
      private Handler handler;
      ViewPager myPager;
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.imageslideshow);
          MyPagerAdapter adapter = new MyPagerAdapter();
          myPager = (ViewPager) findViewById(R.id.slideShowPager);
          myPager.setAdapter(adapter);
          myPager.setCurrentItem(0);
  
          handler = new Handler();
      myPager.setOnPageChangeListener(this);
      }
  
      private class MyPagerAdapter extends PagerAdapter {
  
          public int getCount() {
              return 5;
          }
  
          public Object instantiateItem(View collection, int position) {
  
              LayoutInflater inflater = (LayoutInflater) collection.getContext()
                      .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  
              int resId = 0;
              switch (position) {
              case 0:
                  resId = R.layout.farleft;
                  break;
              case 1:
                  resId = R.layout.left;
                  break;
              case 2:
                  resId = R.layout.middle;
                  break;
              case 3:
                  resId = R.layout.right;
                  break;
              case 4:
                  resId = R.layout.farright;
                  break;
              }
  
              View view = inflater.inflate(resId, null);
  
              ((ViewPager) collection).addView(view, 0);
  
              return view;
          }
  
          @Override
          public void destroyItem(View arg0, int arg1, Object arg2) {
              ((ViewPager) arg0).removeView((View) arg2);
  
          }
  
          @Override
          public void finishUpdate(View arg0) {
              // TODO Auto-generated method stub
  
          }
  
          @Override
          public boolean isViewFromObject(View arg0, Object arg1) {
              return arg0 == ((View) arg1);
  
          }
  
          @Override
          public void restoreState(Parcelable arg0, ClassLoader arg1) {
              // TODO Auto-generated method stub
  
          }
  
          @Override
          public Parcelable saveState() {
              // TODO Auto-generated method stub
              return null;
          }
  
          @Override
          public void startUpdate(View arg0) {
              // TODO Auto-generated method stub
  
          }
  
  
      }
  
      @Override
      public void onPageScrollStateChanged(int arg0) {
          // TODO Auto-generated method stub
  
      }
  
      @Override
      public void onPageScrolled(int arg0, float arg1, int arg2) {
          // TODO Auto-generated method stub
  
          updateUI(arg2);
      }
  
      @Override
      public void onPageSelected(int arg0) {
          // TODO Auto-generated method stub
          //updateUI(arg0);
  
      }
  
      public void onNothingSelected(AdapterView&lt;?&gt; adapterView) {    
          final int i =0;
          adapterView.postDelayed(new Runnable(){
  
              @Override
              public void run() {
                  // TODO Auto-generated method stub
                  updateUI(i);            
              }
  
          }, 5000);
          Toast.makeText(this, "In nothing selected method",Toast.LENGTH_SHORT).show();
  
  
  
  
      }
  
      private void updateUI(final int fi) {
             /* handler.post(new Runnable() {
                  public void run() {
                      gallery.setSelection(i);
                      viewPager.setCurrentItem(i);
  
                      //textView.setText("Photo #" + i);
                  }
              });*/
              handler.postDelayed(new Runnable() {
                  public void run() {
                      int i=fi;
                      int j = i;
                      myPager.setCurrentItem(j++);
                      System.out.println("Hello");             
  
                  }
              },1000);
          }   
  
  
  }
  </code></pre>