Saya ingin memastikan bahwa daftar tersebut digulir sampai ke bagian bawah, setelah saya memperbarui tampilan daftar dengan menggunakan listAdapter, sehingga ini menampilkan elemen terakhir yang dimasukkan dalam daftar. Bagaimana saya bisa melakukan ini?
Saya mencoba ini tetapi tidak berhasil:
lv.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);
Terima kasih
Jawaban:
Andaikan Anda tahu kapan data daftar telah berubah, Anda dapat secara manual memberi tahu daftar untuk menggulir ke bawah dengan mengatur pemilihan daftar ke baris terakhir. Sesuatu seperti:
sumber
Anda perlu menggunakan parameter ini dalam tampilan daftar Anda:
Gulir
lv.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);
Atur kepala daftar ke bawah
lv.setStackFromBottom(true);
Anda juga dapat mengatur parameter ini dalam XML, mis. seperti ini:
sumber
Kombinasi TRANSCRIPT_MODE_ALWAYS_SCROLL dan setSelection membuatnya berfungsi untuk saya
sumber
Saya sudah berhasil menggunakan ini sebagai respons terhadap klik tombol, jadi saya kira Anda juga dapat menggunakannya setelah memperbarui konten Anda:
sumber
Untuk mendapatkan ini di ListFragment:
Menambahkan jawaban ini karena jika seseorang melakukan pencarian google untuk masalah yang sama dengan ListFragment ia hanya menemukan ini ..
Salam
sumber
Menggunakan: Atur kepala daftar ke bawah
lv.setStackFromBottom(true);
Dikerjakan untuk saya dan daftar tersebut digulir ke bawah secara otomatis saat pertama kali ditampilkan. Daftar kemudian bergulir sebagaimana mestinya dengan
TRANSCRIPT_MODE_ALWAYS_SCROLL
.sumber
saya menggunakan
untuk menambahkan entri di bagian bawah, dan entri lama gulir dari atas, seperti transkrip obrolan
sumber
getListView().smoothScrollToPosition(getListAdapter.getCount() - 1);
onstart untuk menggulir ke bawah di awal aktivitas.Solusi paling sederhana adalah:
sumber
Mode transkrip adalah apa yang Anda inginkan dan digunakan oleh Google Talk dan aplikasi SMS / MMS. Apakah Anda memanggil notifyDatasetChanged () dengan benar pada adaptor Anda saat Anda menambahkan item?
sumber