La téléavertisseur de vue d'Android change automatiquement les pages après quelques secondes

J'ai utilisé le téléavertisseur de vue Android pour afficher des images et le texte maintenant, ce que je veux, c'est que si un utilisateur ne modifie pas les images, il devrait commencer à changer les images automatiquement après quelques secondes et lorsque l'utilisateur recommence à utiliser son doigt, puis les images Ne devrait pas changer automatiquement?

J'ai essayé d'utiliser le gestionnaire pour créer un délai, mais cela n'a pas fonctionné pour moi?

  • Android: désactivez l'élément listview cliquez et rétablis
  • Comment puis-je installer Adobe Flash sur l'émulateur Android?
  • Entrée de fichier HTML dans Android Webview (android 4.4, kitkat)
  • Geler ou faire une vue stable sur le Web lorsque je sélectionne la barre d'action Retour? Empêchez la chargement / rechargement à chaque fois
  • La phase "Mise à jour de la bibliothèque Android" peut-elle être accélérée?
  • Android: existe-t-il un moyen simple de trouver toutes les chaînes dans mon projet?
  • Aidez-nous n'importe qui

    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<?> 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); } } 

  • Android Scale Animation avec interpolateur de rebond
  • Pourquoi les Android préfèrent-ils les cours statiques?
  • Comment implémenter NestedScrolling sur Android?
  • Avantages de l'utilisation de Binder pour IPC dans Android
  • ActionBar MenuItem Divider
  • Comment activer l'obscurité ProGuard dans Android Studio?
  • 2 Solutions collect form web for “La téléavertisseur de vue d'Android change automatiquement les pages après quelques secondes”

    Utilisez la minuterie javautil et définissez-en une et à la fin de la minuterie que vous pouvez utiliser

     class UpdateTimeTask extends TimerTask { public void run() { //Code for the viewPager to change view } } // Code to schedule the timer timer = new Timer(); timer.schedule(new UpdateTimeTask(), 100, 200); 

    En espérant que cela aide, utilisez les docs Android pour les appels API exacts

     <ViewPager>.setCurrentitem(i++%<MaxViews>) 

    En ce qui concerne la mise à jour de l'interface utilisateur, vous pouvez le faire via un gestionnaire, alors appelez un gestionnaire dans la classe timertask, vous pouvez faire quelque chose comme ceci:

     Timer timer=null; static int time_tomove = 0; class UpdateTimeTask extends TimerTask { public void run() { //Code for the viewPager to change view System.out.println("The value of the time_tomove "); time_tomove++; Message msg = handler_timer.obtainMessage(); Bundle b = new Bundle(); b.putInt("time", time_tomove); msg.setData(b); handler_timer.sendMessage(msg); } } public static Handler handler_timer = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); magazineHolder.setCurrentItem(time_tomove); } }; 

    Après cela, vous pouvez appeler les deux lignes ci-dessous dans votre méthode onresume ou oncreate ()

     timer = new Timer(); timer.schedule(new UpdateTimeTask(), 100, 2000); 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.