Question

Comment puis-je obtenir la position de l'image actuelle affichage en mode Galerie alors qu'il est glisser?

Était-ce utile?

La solution

Je ne pense pas que cela est possible en raison de l'adaptateur mode de fonctionnement des points de vue. Fondamentalement, la plupart, sinon tous les appels à l'adaptateur de la vue de l'adaptateur doivent être sur le thread d'interface utilisateur pour fonctionner correctement. Et l'animation est sans aucun doute sur le thread d'interface utilisateur. Donc, puisque les deux ne peuvent se produire en même temps sur le même fil, vous ne pouvez pas réellement (avec précision) lire la position jusqu'à ce que l'animation est terminée balayant.

Si vous demandez à l'getSelectedItemPosition adaptateur () sur un autre fil, il pourrait vous donner la position actuelle, mais pourrait également être périmé depuis un certain temps car je devine le thread d'interface utilisateur va mettre à jour la valeur sans vérifier un verrou exclusif.

Autres conseils

On peut obtenir la position lorsque nous glisser l'image en mode galerie, vous écrasez la setOnItemSelectedListener de Galerie.

Nous avons deux méthodes de cet auditeur comme

avatar_gallery.setOnItemSelectedListener(new OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> parent, 
                                View view, 
                                int position, 
                                long id){                  
        Log.v("Selected", ""+position);
    }
    @Override
    public void onNothingSelected(AdapterView<?> parent){
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top