Bir XML ayrıştırma kullanarak, her 5 saniyede bir yenilenen bir liste görünümü var. Yenilemeden sonra, listenin mevcut konumu ilk konuma geri döner. Bunu çözmek için herhangi bir yol var mı? o yenilenir olarak son eklenen girdiye Otomatik Kaydırma için liste görünümü istiyorsanız pos, herhangi int, adaptörün tercihen uzunluğu olabilirListe arrayadapter veri güncelleştirildikten sonra en üstteki gönderiye geri dön
cevap
kullanın lv.smoothScrollToPosition(pos)
.
public void smoothScrollToPosition (int position)
Smoothly scroll to the specified adapter position. The view will scroll such that the indicated position is displayed.
için yeni değerler belirlemek için kullanarak Benim durumum için, bu gerçekten bir kez notifyDataSetChanged() bir kez işe yaramıştı. Cevabınız için – greg7gkb
Bir listeyi güncellemek için setAdapter() öğesini kullanarak Android konumu sıfırlar. Bağdaştırıcıyı değiştirmeyi deneyin.
Kullandığınız bağdaştırıcıyı bilmiyorum iki örnek.
ArrayAdapter
adapter = list.getAdapter();
if (adapter == null) {
// Create new adapter + list.setAdapter()
} else {
adapter.clear();
adapter.addAll(newData);
adapter.notify(notifyDataSetChanged());
}
CursorAdapter
adapter.changeCursor(newCursor);
Bu kod size yardımcı olacaktır ....
// get position of listview
int index = listView.getFirstVisiblePosition();
View v = listView.getChildAt(0);
int top = (v == null) ? 0 : v.getTop();
// notify dataset changed or re-assign adapter here
//re-assign the position of listview after setting the adapter again
listView.setSelectionFromTop(index, top);
Alkış :)
mükemmel !!! ... – ajay
bu
deneyinadapter.notifyDataSetChanged();
- 1. Liste Stili CSS geçersiz kılmaya geri dön
- 2. Jquery Tabloları, güncelleştirildikten sonra aynı sütunu sırala
- 3. Yönlendirmeli sayfaya geri dön
- 4. Geri Dön ve javascript
- 5. Titremesiz en üstteki formun değiştirilmesi
- 6. Yalnızca en üstteki RewriteRule çalışıyor
- 7. Android SQLiteDatabase en üstteki öğeden
- 8. CursorAdapter ile bir Liste Görünümü için ArrayAdapter
- 9. Git Çalışmıyor Geri Dön
- 10. php sonuçları geri dön
- 11. Ekle kaldır Listeye geri dön
- 12. vmError: Başparmak oluşturulamadı, dosya güncelleştirildikten sonra bulunamadı
- 13. Özel arrayadapter kullanmadan liste öğeleri göster
- 14. Liste Dizilimi'nde Özel ArrayAdapter Özelliğini Göster
- 15. En başa dön $ undefined
- 16. Kullanıcıyı giriş yaptıktan sonra önceki sayfaya geri dön (Rails)
- 17. Grails - bir String'i Tarihe dönüştürüp sonra da String'e geri dön
- 18. İlk film şeridine geri dön ViewController oturum kapatmada
- 19. Filtreleme ArrayAdapter Liste Görünümü yenileniyor (Android)
- 20. Psycopg2 cursor.execute jeneratöre geri dön
- 21. swap div'in en üstteki div'sinin pozisyonu
- 22. Mutlak yol web-göreli yoluna geri dön
- 23. Bir koleksiyon topla ve geri dön Sözlük
- 24. Özel öğe veri türü olmadan Özel ArrayAdapter
- 25. JColorChooser daha önce seçilen renklere geri dön
- 26. C - ncurses uygulamasından harici programa geri dönme ve geri dön
- 27. R'deki vektörden en üstteki 5 değer nasıl iade edilir?
- 28. jQuery ajax yüklendikten veya güncelleştirildikten sonra, bulamıyorum olayını kaybederim
- 29. Yeni SDK'ya güncelleştirildikten sonra Firebase veritabanıyla bağlantıyı kaybediyor
- 30. Android - ArrayAdapter
Lütfen liste görünümünü nasıl yenilediğinizi bize bildirin. – flo
Muhtemelen liste verilerini temizler ve yeni ayarları yaparsınız. Sen) ( 'public void TimerMethod() { \t \t runOnUiThread (yeni Runnable @Flo http://developer.android.com/reference/android/view/View.html scrollTo (int, int) yöntemini – pleerock
kullanabilirsiniz { \t \t \t public void run() { \t \t \t \t // Toast.makeText (getApplicationContext(), "Merhaba, bu piyush olan" \t \t \t \t // Toast.LENGTH_LONG) .show(); \t \t \t \t ayrıştırma (link); \t \t \t \t setAdapter(); \t \t} \t \t}); bu yöntemi her 5 saniyede çağırır. parse() xml ayrıştırma için ve setAdapter() listadapter – ASP