2017-02-25 10 views
0

単純なヘッダーを持つ2つのセクションでリサイクラービューを使用したいと思います。 各セクションのデータ、つまりリストのコンテンツは、2つの異なるWebサービスから送信されます。 ヘッダーで最初のセクションを表示できます。しかし、同じRecycleView.Adapter内の異なるデータを持つ第2セクションを作成する方法についてはわかりません。Android Recycler 2つのセクションを表示

これを処理するための提案は誰でもいただけますか?

答えて

0

HEREのAdvancedSectionAdapterを使用することもできます。

public abstract int getGroupCount(); 

public abstract int getChildCount(int group); 

public abstract SectionVH onCreateSectionViewHolder(ViewGroup parent, int viewType); 

public abstract ChildVH onCreateChildViewHolder(ViewGroup parent, int viewType); 

public abstract void onBindSectionViewHolder(SectionVH holder, int position, List<Object> payloads); 

public abstract void onBindChildViewHolder(ChildVH holder, int belongingGroup, int position, List<Object> payloads); 

残りはあなたのために用意されています。親セクションの数をgetGroupCount、親の子の数をgetChildCountと指定し、親と子の親を作成してバインドする必要があります。

単純なStringのSortedMapを作成することができます。リスト<>ここで、Stringキーはセクションであり、Listは子です。 (SortedMapを使用する理由は、キーがソートされ、HashMapとしてランダムではないためです)。

1

、GitHubの上で私のライブラリを見てください簡単にセクションを作成するために使用することができます。 RecyclerAdapter & Easy Section

mRecylerView.setLayoutManager(...); 
/*create Adapter*/ 
RecyclerAdapter<Customer> baseAdapter = new RecyclerAdapter<>(...); 
/*create sectioned adapter. the Adapter type can be RecyclerView.Adapter*/ 
SectionedAdapter<String, RecyclerAdapter> adapter = new SectionedAdapter<>(SectionViewHolder.class, baseAdapter); 
/*add your sections*/ 
sectionAdapter.addSection(0/*position*/, "Title Section 1"); 
/*attach Adapter to RecyclerView*/ 
mRecylerView.setAdapter(sectionAdapter); 

はそれがお役に立てば幸いです。

+0

改訂ありがとうございました;) –

0

私はライブラリSectionedRecyclerViewを強くお勧めします。

  1. ヘッダーとフッターの両方をサポートします。
  2. LOADING、LOADED、EMPTYなどのさまざまな状態がサポートされています.Webサービスからの応答を待っている間は、セクション状態をLOADINGに切り替えるだけで、進行状況バーを簡単に表示できます。データの準備ができたら、LOADED状態に切り替えることができます。
  3. ライブラリにはコード品質を保証するための広範なユニットテストが付属しています。

これは実世界のアプリで使用するライブラリです。

ご覧のとおり、ヘッダー、フッター、複数のコンテンツ行があります。

enter image description here

関連する問題