Skip to content

emerap/ExpandableAdapter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExpandableAdapter

Customizable adapter for RecyclerView

Download API Android Arsenal

Setup

Gradle

compile 'com.github.emerap:expandable-adapter:0.0.4'

Maven

<dependency>
  <groupId>com.github.emerap</groupId>
  <artifactId>expandable-adapter</artifactId>
  <version>0.0.4</version>
  <type>pom</type>
</dependency>

Ivy

<dependency org='com.github.emerap' name='expandable-adapter' rev='0.0.4'>
  <artifact name='expandable-adapter' ext='pom' ></artifact>
</dependency>

Features

  • Interface StateConfig for saving and restore items state.
  • Get and set any object to Section and Item from via them interfaces.
  • Create Model view from list of object (any types).
  • Interface ModelSwitch for switch between ModelView objects.
  • Predefined SectionViewHolder with title, icon and count fields.
  • Empty data placeholder (override onBindEmptyDataPlaceholder and getEmptyDataViewHolder)
  • Predefined EmptyDataViewHolder with message and image fields.

Examples

Customize adapter

  • Implement onCreateViewHolder.
  • Bind your data to UI.
import com.emerap.library.ExpandableAdapter.ExpandableAdapter;
import com.emerap.library.ExpandableAdapter.ExpandableViewHolder;
import com.emerap.library.ExpandableAdapter.ItemInterface;
import com.emerap.library.ExpandableAdapter.SectionInterface;

public class CustomAdapter extends ExpandableAdapter {

    @Override
    public void onBindSection(ExpandableViewHolder holder, SectionInterface section) {

    }

    @Override
    public void onBindItem(ExpandableViewHolder holder, String title, ItemInterface item) {

    }
    
    @Override
    public ExpandableViewHolder getSectionViewHolder(ViewGroup parent) {
        return DefaultSectionViewHolder.newInstance(parent);
    }

    @Override
    public ExpandableViewHolder getItemViewHolder(ViewGroup parent) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.expandeable_recycler_item, parent, false);
        return new ItemViewHolder(view);
    }
}

See MainActivity.java from app module

About

Customizable adapter for RecyclerView

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages