compile 'com.android.support:recyclerview-v7:25.1.0'
////////////////////////////////////////////////////////////
// Set a linear layout calendar to hang up the layout manager //HORIZONTAL set the horizontal and vertical directions false true true reverse display upside down false order display
recyclerView.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false));
// Set up a grid manager //Vertical represents how many columns to display //Horizontal represents how many rows to display
recyclerView.setLayoutManager(new GridLayoutManager(this,1,GridLayoutManager.HORIZONTAL,false));
// Set the dividing line recyclerView .addItemDecoration( new DividerItemDecoration( this ,DividerItemDecoration.VERTICAL ) );
// Set the adapter MyAdapter adapter = new MyAdapter( this ,recylelist); recyclerView .setAdapter(adapter);
adapter.setOnItemClickListener(new MyAdapter.OnItemClickListener() { @Override public void setOnItemClick(View view, int position) { Log.d("ggg","点击"); } @Override public void setOnItemLongClick(View view, int position) { Log.d("ggg","长按"); } });
///////////////////////////////////////////// ///
The first type of this multi-entry is one and the second is all the remaining entries
public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Context context; private List<Bean> list; private int Viewk_0=0; private int Viewk_1=1; private int Viewk_2=2; private int Viewk_3=3; private View view; private List<String> lo; public MyAdapter(Context context,List<Bean> list){ this.context = context; this.list=list; } @Override public int getItemViewType(int position) { if(position*1==0){ return Viewk_0; }else{ return Viewk_1; } } /** * * @param parent * @param viewType * @return */ @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { if(viewType==Viewk_0){ view = LayoutInflater.from(context).inflate(R.layout.itembanner,parent,false); ViewHolderA viewHolderA = new ViewHolderA(view); return viewHolderA; }else { view = LayoutInflater.from(context).inflate(R.layout.item,parent,false); ViewHolderB viewHolderB = new ViewHolderB(view); return viewHolderB; } } /* Life's own event callback interface */ public interface OnItemClickListener{ void setOnItemClick(View view,int position); void setOnItemLongClick(View view,int position); } private OnItemClickListener onItemClickListener; public void setOnItemClickListener(OnItemClickListener onItemClickListener){ this.onItemClickListener = onItemClickListener; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) { if(holder instanceof ViewHolderA){ }else if(holder instanceof ViewHolderB){ } if(null != onItemClickListener) { /* Callback click event */ holder.itemView.setOnClickListener ( new View.OnClickListener () { @Override public void onClick(View v) { onItemClickListener.setOnItemClick(v,position); } }); holder.itemView.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { onItemClickListener.setOnItemLongClick(v,position); return true; } }); } } @Override public int getItemCount() { return 4; } class ViewHolderA extends RecyclerView.ViewHolder{ banner banner ; public ViewHolderA(View itemView) { super(itemView); banner=itemView.findViewById(R.id.banner); } } class ViewHolderB extends RecyclerView.ViewHolder{ TextView text; TextView text2; SimpleDraweeView simple; public ViewHolderB(View itemView) { super(itemView); text = itemView.findViewById(R.id.text1); text2 = itemView.findViewById(R.id.text2); simple = itemView.findViewById(R.id.simple); } } }