単純なヘッダーを持つ2つのセクションでリサイクラービューを使用したいと思います。 各セクションのデータ、つまりリストのコンテンツは、2つの異なるWebサービスから送信されます。 ヘッダーで最初のセクションを表示できます。しかし、同じRecycleView.Adapter内の異なるデータを持つ第2セクションを作成する方法についてはわかりません。Android Recycler 2つのセクションを表示
これを処理するための提案は誰でもいただけますか?
単純なヘッダーを持つ2つのセクションでリサイクラービューを使用したいと思います。 各セクションのデータ、つまりリストのコンテンツは、2つの異なるWebサービスから送信されます。 ヘッダーで最初のセクションを表示できます。しかし、同じRecycleView.Adapter内の異なるデータを持つ第2セクションを作成する方法についてはわかりません。Android Recycler 2つのセクションを表示
これを処理するための提案は誰でもいただけますか?
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としてランダムではないためです)。
、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);
はそれがお役に立てば幸いです。
私はライブラリSectionedRecyclerViewを強くお勧めします。
これは実世界のアプリで使用するライブラリです。
ご覧のとおり、ヘッダー、フッター、複数のコンテンツ行があります。
改訂ありがとうございました;) –