2013-03-18 8 views
5

Ho una semplice prima app per Android che sto codificando. Una delle mie attività principali è una ScrollView che è abbastanza lunga. In questo ho alcuni pulsanti che chiamano altri ListView. Quando le ListView sono terminate e il ScrollView è tornato, voglio che la posizione sullo schermo sia la stessa di quando era stato chiamato per la prima volta ListView.È possibile supportare una funzione simile a setScrollY() (ScrollView API 14) per livelli API precedenti?

Ho trovato i metodi getScrollY() e setScrollY() e li posso implementare per mantenere la posizione come desidero.

Tuttavia, setScrollY() è una funzione API 14 e successive e, in base alle statistiche della mia app, ho un sacco di utenti su Gingerbread, che è un vecchio livello API.

La mia domanda: C'è un metodo che ho trascurato o può essere puntato verso ciò che mi permette di avere la stessa funzionalità di setScrollY() sui vecchi livelli API?

risposta

15

Hai guardato scrollTo(getScrollX(), y)? È disponibile in tutte le versioni di Android.

http://developer.android.com/reference/android/view/View.html#scrollTo(int%2C%20int)

Se si guarda alla realizzazione di setScrollY(), vedrete:

public void setScrollY(int value) { 
    scrollTo(mScrollX, value); 
} 
+0

Grazie Penso che le opere. Ho trovato un altro problema dopo aver inserito quel codice. – JollyRoberts

+0

... che dovrò cercare la risposta per me stesso. (e capire come funziona il sistema di commenti qui, haha) Grazie! – JollyRoberts