Android: comment défiler ScrollView en haut

J'ai deux boutons qui passent à la prochaine liste d'événements et à la précédente.

Quand je vais au prochain événement précédent, les défiles restent quelque part ci-dessous. Mais je dois "rembobiner".

  • Android - package org.apache.http n'existe pas sdk 23
  • En Fragment sur le bouton arrière pressé L'activité est vide
  • Comment surveiller le changement d'état de la carte SIM
  • Ressource Android - Array of Arrays
  • Fire-Based Remote Config: Impossible de lire des valeurs, mais l'extraction est réussie
  • Android - Comment lier un ListView à une collection d'objets personnalisés?
  • J'essaie:

    scrollViewEventDetails.pageScroll(ScrollView.FOCUS_UP); 

    et:

     scrollViewEventDetails.scrollTo(0, 0); 

    Mais ça ne marche pas. S'il vous plaît, aidez-vous!

    5 Solutions collect form web for “Android: comment défiler ScrollView en haut”

    Vous écoutez ensuite:

     scrollViewEventDetails.fullScroll(View.FOCUS_UP);//if you move at the end of the scroll scrollViewEventDetails.pageScroll(View.FOCUS_UP);//if you move at the middle of the scroll 

    Cela n'a pas fonctionné pour moi:

     scrollViewEventDetails.fullScroll(View.FOCUS_UP); //if you move at the end of the scroll 

    Cela a fonctionné pour moi:

     scroll_view.smoothScrollTo(0,0); 

    scrollview.pageScroll(View.FOCUS_UP); Est plus cohérent et fonctionné pour moi. 🙂

    Le moment de ces appels est crucial. GetViewTreeObserver (). AddOnGlobalLayoutListener n'a pas fonctionné pour moi, mais l'utilisation du rappel de l'OnWindowFocusChanged dans mon activité a eu:

     @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus) { mScrollView.fullScroll(View.FOCUS_UP); } } 

    Je sais que c'est une ancienne publication, mais il y a une raison pour laquelle le code fonctionnera dans certains endroits et pas dans d'autres. Il sera interrompu par le thread principal s'il est appelé dans le mauvais endroit, surtout si ScrollView doit parcourir une grande distance. Par conséquent, mettez votre appel dans son propre fil. Fixé.

     (new Thread(new Runnable(){ public void run(){ mScrollView.fullScroll(View.FOCUS_UP); } })).start(); 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.