Ho una soluzione più breve e, a mio parere, migliore per farlo: il metodo ListView requestChildRectangleOnScreen è progettato per questo.
La risposta sopra assicura che l'elemento verrà visualizzato, ma a volte verrà visualizzato parzialmente (cioè quando si trova nella parte inferiore dello schermo). Il seguente codice garantisce che l'intero oggetto verrà visualizzato e che la vista scorrerà solo la zona necessaria:
private void ensureVisible(ListView parent, View view) {
Rect rect = new Rect(view.getLeft(), view.getTop(), view.getRight(), view.getBottom());
parent.requestChildRectangleOnScreen(view, rect, false);
}
fonte
2012-06-14 09:50:24
La selezione di insiemi fa scorrere verso l'alto della vista. Ho solo bisogno che si muova il meno possibile – CodeFusionMobile
Questa risposta non è accurata, come indicato da CodeFusionMobile. Quindi non lo accetterei davvero ... :-( – Zordid