Skip to content

mingyangShang/SupportRecyclerDemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SupportRecyclerDemo

Demo using SupportRecyclerView and RecyclerCursorAdapter

  • SupportRecyclerView

    • setEmptyView(View emptyView):set visiable empty view when none data.
  • SupportRecyclerView.SupportAdapter

    • setOnItemClickListener(OnRecyclerViewItemClickListener itemClickListener):set click listener for recyclerview's item
    • setOnItemLongClickListener(OnRecyclerViewItemLongClickListener itemLongClickListener):set long click listener for recyclerview's item
  • AbstractRecycleCursorAdapter

    • DemoRecyclerCursorAdapter(Context context,Cursor cursor):Constructor like CursorAdppter
    • onBindViewHolder(SupportRecyclerView.SupportViewHolder holder, Cursor cursor):bind viewholder and view,must be implemented by its subclass
    • SupportRecyclerView.SupportViewHolder onCreateViewHolder(ViewGroup parent, int viewType):create viewholder for each item,must be implemented by its subclass
  • How to use

xml(If you copy the SupportRecyclerView file to your project,you should replace tag with SupportRecyclerView path in your project):

<com.smy.demo.supportrecyclerdemo.SupportRecyclerView
        android:id="@+id/demo_recyclerview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/layout_oper"/>

extend AbstractRecycleCursorAdapter:

public class DemoRecyclerCursorAdapter extends AbstractRecycleCursorAdapter{

    private LayoutInflater mInfalter;
    private Context mContext;

    public DemoRecyclerCursorAdapter(Context context,Cursor cursor){
        super(context,cursor);
        mContext = context;
        mInfalter = LayoutInflater.from(context);
    }

    @Override
    public void onBindViewHolder(SupportRecyclerView.SupportViewHolder holder, Cursor cursor) {
        DemoViewHolder demoVH = (DemoViewHolder) holder;
        final int position = cursor.getPosition();
        demoVH.itemView.setTag(position);
        demoVH.tv.setText(cursor.getString(cursor.getColumnIndex(DemoDBHelper.NAME)));
    }

    @Override
    public SupportRecyclerView.SupportViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        return new DemoViewHolder(mInfalter.inflate(R.layout.recycler_item,parent,false));
    }


    public static class DemoViewHolder extends SupportRecyclerView.SupportViewHolder{
        public TextView tv;
        public DemoViewHolder(View view){
            super(view);
            tv = (TextView) view.findViewById(R.id.tv);
        }
    }
    
}

bind data and set listener:

    mRecyclerView = (SupportRecyclerView)findViewById(R.id.demo_recyclerview);   
    mRecyclerView.setEmptyView(findViewById(R.id.empty_view));
    mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
    mAdapter = new DemoRecyclerCursorAdapter(this, mDbHelper.queryAll());
    mAdapter.setOnItemClickListener(this);
    mAdapter.setOnItemLongClickListener(this);
    mRecyclerView.setAdapter(mAdapter);

About

Demo using SupportRecyclerView and RecyclerCursorAdapter for it

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages