Wiem, że to zostało odebrane i wzięłaś odpowiedź, a było to ponad rok temu. Lepszym sposobem na zrobienie tego jest tryb transkrypcji. Aby zapoznać się z wersją demonstracyjną, zobacz Demo interfejsu API Androida w Widokach> Listy> Transkrypcja.
Użytkownik ustawiłby następujący widok w widoku listy w pliku XML.
android:stackFromBottom="true"
android:transcriptMode="alwaysScroll"
To zawsze zadziała, gdy zadzwonisz pod numer notifyDataSetChanged()
. Zamiast tego możesz ustawić android:transcriptMode
na normal
, jeśli chcesz uzyskać jeszcze lepszy wynik dla aplikacji do czatu: przewinie się do dołu tylko wtedy, gdy ostatni element był już widoczny. W ten sposób użytkownicy będą mogli oglądać poprzedni czat bez przerwy, gdy inni użytkownicy będą czatować.
to działa świetnie. Próbowałem 'android: stackFromBottom =" true "', a problem polega na tym, że jeśli w moim widoku listy był tylko jeden element, byłby to dół ekranu. Dzięki – philipp
Uwaga: jeśli wysokość ostatniego elementu jest większa niż wysokość widoku listy, górna część ostatniego elementu zostanie wyrównana do początku listy, tj. Dolna część elementu nie będzie widoczna. Dlatego rozwiązanie stackFromBottom opisane przez Ribose jest lepsze dla funkcji podobnych do chata. –
Pracował jak urok! Próbowałem też stackFromBottom = "true", ale ponieważ nie wyczyściłem listy, nie zadziałało to w mojej sytuacji. (Przynajmniej tak myślę.) – BostonGeorge