Frage

Wie kann ich die Position des aktuellen Bildes in der Galerieansicht erhalten, während es wischt?

War es hilfreich?

Lösung

Ich denke also nicht, dass dies aufgrund der Art und Weise, wie Adapteransichten funktionieren, möglich ist. Grundsätzlich müssen die meisten, wenn nicht alle Anrufe des Adapter -Adapters der Adapteransicht auf dem UI -Thread sein, um ordnungsgemäß zu funktionieren. Und die Animation ist definitiv auf dem UI -Thread. Da beide nicht gleichzeitig im selben Thread stattfinden, können Sie die Position nicht (genau) lesen, bis die Wischanimation vorbei ist.

Wenn Sie den Adapter GetSelectedItemposition () auf einem anderen Thread bitten, kann Sie die aktuelle Position erhalten, aber für einige Zeit auch abgeschlossen sein, da ich vermute, dass der UI -Thread den Wert aktualisieren wird, ohne nach einer exklusiven Sperre zu überprüfen.

Andere Tipps

Wir können die Position einholen, wenn wir das Bild in der Galerieansicht wischen. setOnItemSelectedListener.

Wir haben zwei Methoden von diesem Zuhörer mögen

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){
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top