5

RecyclerView.Adapter kullanarak bir listede CardView uygulamak çalışıyorum. Listede kart oluşturmak, RecyvlerView.Adapter kullanarak oldukça basittir. Ben arka uç olarak parse.com kullanıyorum, bu yüzden kartlar verileri için sorguları kendi API'leri kullanılarak yapılır. Şimdi bu listeye sayfalama eklemek istiyorum. Parse's ParseQueryAdapter kullanırsam, bu API'dan sayfa numaralandırmada oluşturulabilir. Ama sonra RecyclerView.Adapter (ya da?) Atlatmak ve eski BaseAdapter yöntemine geri dönmek zorunda kalacaktı. Bununla birlikte, bunu yapmak istemiyorum ve Android tarafından sağlanan bu yeni RecyclerView.Adapter ile çalışıyorum (verdiği verim nedeniyle).Android ParseQueryApplication ile Geri Dönüşüm Listeleme.Adapter

Soruma Soru: Daha iyi bir yaklaşım nedir?

  1. normal veriler ile eski BaseAdapter yöntemle
  2. Kullanım RecyclerView.Adapter ile kullanın ParseQueryAdapter yöntemi getirme ve kendi sayfalama

cevap

1

İki adaptörleri arasındaki bir dolgu yapma deneyebilirsiniz yazın. RecyclerView.Adapter uzatacak ve bir ParseQueryAdapter içerecektir. Sonra temelde sadece tüm yöntemleri proxy. Yani, örneğin, onBindViewHolder, yalnızca ParseAdapter.getItemView çağırır. Zor olan kısım, ayrıştırıcı verisinin geldiği yerde addOnQueryLoadListener kullanarak dinleyiciyi ayarlıyor ve bunu RecyclerView'ın yenilenmesini tetiklemesini sağlıyor.

İşte saplama var: https://gist.github.com/mrowl/0ab027b5f84e25f51102

Temel durum için iş gibi görünüyor, ama muhtemelen belirgin üzerine geliştirilebilir. Api'nin bu tarafına oldukça yeniyim.

İlgili konular