2013-03-18 7 views
5

Mam prostą pierwszą aplikację na Androida, którą koduję. Jednym z moich głównych działań jest ScrollView, który jest dość długi. W tym mam kilka przycisków, które wywołują inne listy listView. Po zakończeniu ListViews i ponownym włączeniu ScrollView chcę, aby pozycja na ekranie była taka sama jak w momencie pierwszego wywołania ListView.Czy istnieje możliwość obsługi funkcji setScrollY() (ScrollView API 14) dla starszych poziomów interfejsu API?

Znalazłem metody getScrollY() i setScrollY() i mogę je zaimplementować, aby utrzymać pozycję w żądany sposób.

Jednak setScrollY() jest funkcją API 14 i wyższą, a według statystyk mojej aplikacji mam wielu użytkowników na Gingerbread, który jest starszym API.

Moje pytanie: czy istnieje metoda, którą przeoczyłem lub na którą mogę zwrócić uwagę, która pozwala mi mieć tę samą funkcjonalność co setScrollY() na starszych poziomach API?

Odpowiedz

15

Czy spojrzałeś na scrollTo(getScrollX(), y)? Jest dostępny we wszystkich wersjach Androida.

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

Jeśli spojrzeć na realizację setScrollY() zobaczysz:

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

Dziękujemy Myślę, że prace. Po wprowadzeniu tego kodu natknąłem się na inny problem. – JollyRoberts

+0

... które będę musiał sprawdzić odpowiedź dla siebie. (i dowiedzieć się, jak działa system komentowania, haha) Dzięki! – JollyRoberts

Powiązane problemy