In my application i am using recyclerview to display all contact list. I want two section in recyclerview.
Like one section is my application contact list and second section is my phone contact list.
Like this
Is there any method to do it?
Does anybody know how to do it?
getItemViewType(int position) will be called for the viewType ; onBindViewHolder(ViewHolder holder, int position) is always called when recycling the view (new data is brought in and try to display with that ViewHolder ).
Adapter. RecyclerView includes a new kind of adapter. It's a similar approach to the ones you already used, but with some peculiarities, such as a required ViewHolder . You will have to override two main methods: one to inflate the view and its view holder, and another one to bind data to the view.
If you already have a RecyclerView
, an easy way to implement the sections is using Gabriele Mariotti's SimpleSectionedRecyclerViewAdapter.
I paste you his example:
//Your RecyclerView mRecyclerView = (RecyclerView) findViewById(R.id.list); mRecyclerView.setHasFixedSize(true); mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); mRecyclerView.addItemDecoration(new DividerItemDecoration(this,LinearLayoutManager.VERTICAL)); //Your RecyclerView.Adapter mAdapter = new SimpleAdapter(this,sCheeseStrings); //This is the code to provide a sectioned list List<SimpleSectionedRecyclerViewAdapter.Section> sections = new ArrayList<SimpleSectionedRecyclerViewAdapter.Section>(); //Sections sections.add(new SimpleSectionedRecyclerViewAdapter.Section(0,"Section 1")); sections.add(new SimpleSectionedRecyclerViewAdapter.Section(5,"Section 2")); sections.add(new SimpleSectionedRecyclerViewAdapter.Section(12,"Section 3")); sections.add(new SimpleSectionedRecyclerViewAdapter.Section(14,"Section 4")); sections.add(new SimpleSectionedRecyclerViewAdapter.Section(20,"Section 5")); //Add your adapter to the sectionAdapter SimpleSectionedRecyclerViewAdapter.Section[] dummy = new SimpleSectionedRecyclerViewAdapter.Section[sections.size()]; SimpleSectionedRecyclerViewAdapter mSectionedAdapter = new SimpleSectionedRecyclerViewAdapter(this,R.layout.section,R.id.section_text,mAdapter); mSectionedAdapter.setSections(sections.toArray(dummy)); //Apply this adapter to the RecyclerView mRecyclerView.setAdapter(mSectionedAdapter);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With