2012-10-03 2 views
1

Je dois avoir gridview défilement au premier élément surResume de mon activité. Il a seulement le défilement vertical.Définir le premier élément visible dans gridview

J'ai essayé ce qui suit, mais cela n'a pas fonctionné ...

gridView.setSelection(0); 
gridView.scrollY(0); 

aide Quelqu'un peut-il s'il vous plaît ...

Répondre

0

J'ai résolu mon problème!. J'ai implémenté onActivityResult et appelé l'activité pour ajouter un nouvel élément, avec un code de requête connu. Puis, au retour, et le résultat était OK; J'utilise gridView.smoothScrollTo (0), qui a fonctionné comme charme! Voir le code ci-dessous ...

Intent intent = new Intent(this, AddNewActivity.class); 
startActivityForResult(intent, REQUEST_ADD_NEW); 


@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    if (resultCode == RESULT_OK) 
    { 
     if (requestCode == REQUEST_ADD_NEW_CLOTHING_ITEM) 
     { 
      gridView.smoothScrollToPosition(0); 
     } 
    } 
} 
0

J'essaieraient gridView.scrollTo (0,0) ou GRIDVIEW .smoothScrollTo (0,0), selon vos préférences.

Édition: Mise à jour avec un code fixe.

+1

Merci, mais c'est pour un listView. L'équivalent pour un gridView serait .scrollTo (0,0) mais ne fonctionne toujours pas! Peut-être que je devrais l'appeler à un endroit différent puisque je l'appelle dans onResume ... J'ai également essayé de l'appeler onPause mais ne fonctionne toujours pas. (Même avant ou après les appels aux super méthodes respectives) – basbas

+0

Pouvez-vous effectuer d'autres opérations sur GridView dans onResume? – dennisdrew

+0

Où devrait-il être fait alors si vous pouvez aider ... ??! L'objectif principal est de faire défiler la grille de sorte qu'elle affiche l'élément ajouté qui sera à la première position, même si l'activité pour ajouter l'élément a été démarrée lorsque le parchemin n'était pas à la première position. – basbas

Questions connexes