5

CardViewを使用してリストに実装しようとしていRecyclerView.Adapterます。リスト内のカードの作成は、RecyvlerView.Adapter を使用して非常に簡単でした。バックエンドとして使用parse.comしているため、カードデータのクエリはその API を使用して行われます。ここで、このリストにページネーションを追加したいと思います。Parse の を使用するParseQueryAdapterと、その API からページネーションを組み込むことができます。しかし、それから私は捨ててRecyclerView.Adapter(またはしないでください?)、古い BaseAdapter メソッドにフォールバックする必要があります。ただし、私はそれをしたくなくRecyclerView.Adapter、Android が提供するこの新しいものを使用したくありません (効率性が約束されているため)。

私の質問: より良いアプローチは何ですか?

  1. ParseQueryAdapter古いBaseAdapter方法で使用する
  2. RecyclerView.Adapter通常のデータ取得方法で使用し、独自のページネーションを記述します
4

1 に答える 1

1

2 つのアダプターの間にシムを作成してみてください。これは RecyclerView.Adapter を拡張し、ParseQueryAdapter を含みます。次に、基本的にすべてのメソッドをプロキシします。したがって、たとえば、onBindViewHolder は ParseAdapter.getItemView を呼び出すだけです。注意が必要なのは、addOnQueryLoadListener を使用して解析データがダウンしたときのリスナーを設定し、RecyclerView の更新をトリガーすることです。

ここにスタブがあります: https://gist.github.com/mrowl/0ab027b5f84e25f51102

基本的なケースではうまくいくようですが、おそらく大幅に改善される可能性があります。私はAPIのこちら側にかなり慣れていません。

于 2015-02-28T17:08:47.497 に答える