依赖在下面 /// 主类 /////设置一个线性布局挂历起布局管理器 //HORIZONTAL 设置水平方向 垂直方向 false true true 反转 倒着显示 false 顺序显示 // recyclerView.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false)); //设置一个网格管理器 //Vertical 代表显示多少列 //Horizontal 代表显示多少行 recyclerView.setLayoutManager(new GridLayoutManager(this,1,GridLayoutManager.HORIZONTAL,false)); //设置分割线 recyclerView.addItemDecoration(new DividerItemDecoration(this,DividerItemDecoration.VERTICAL)); //设置适配器 MyAdapter adapter = new MyAdapter(this,recylelist); recyclerView.setAdapter(adapter);/
package com.example.zhangkai20180102; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.bumptech.glide.Glide; import com.example.zhangkai20180102.ok.Bean; import com.facebook.drawee.drawable.ProgressBarDrawable; import com.facebook.drawee.generic.GenericDraweeHierarchy; import com.facebook.drawee.generic.GenericDraweeHierarchyBuilder; import com.facebook.drawee.view.SimpleDraweeView; import java.util.List; import static com.example.zhangkai20180102.R.id.img; /** * Created by Administrator on 2018/1/2 0002. */ public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> { private Context context; private List<Bean.DataBean.Ad1Bean> list; private int Viewk_0=0; private int Viewk_1=1; private int Viewk_2=2; private int Viewk_3=3; private View view; public MyAdapter(Context context,List<Bean.DataBean.Ad1Bean> list){ this.context = context; this.list=list; } /** * * @param parent * @param viewType * @return */ @Override public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { /* if(viewType==Viewk_0){ view = LayoutInflater.from(context).inflate(R.layout.item,parent,false); RecyclerView.ViewHolder viewHolder = new ViewHolder(view); Log.d("aaa",viewType+""); return (ViewHolder) viewHolder; }else if(viewType==Viewk_1){ view = LayoutInflater.from(context).inflate(R.layout.item1,parent,false); RecyclerView.ViewHolder viewHolder = new ViewHolder(view); Log.d("aaa",viewType+""); return (ViewHolder) viewHolder; }else if(viewType==Viewk_2){ Log.d("www",viewType+""); view = LayoutInflater.from(context).inflate(R.layout.item2,parent,false); RecyclerView.ViewHolder viewHolder = new ViewHolder(view); Log.d("aaa",viewType+""); return (ViewHolder) viewHolder; }else{ view = LayoutInflater.from(context).inflate(R.layout.item3,parent,false); RecyclerView.ViewHolder viewHolder = new ViewHolder(view); Log.d("aaa",viewType+""); return (ViewHolder) viewHolder; } */ view = LayoutInflater.from(context).inflate(R.layout.item3,parent,false); RecyclerView.ViewHolder viewHolder = new ViewHolder(view); Log.d("aaa",viewType+""); return (ViewHolder) viewHolder; } /* 生命自己的一个事件回调接口*/ 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(MyAdapter.ViewHolder holder, final int position) { GenericDraweeHierarchyBuilder builder=new GenericDraweeHierarchyBuilder(context.getResources()); GenericDraweeHierarchy genericDraweeHierarchy=builder.setProgressBarImage(new ProgressBarDrawable()).build(); holder.img.setHierarchy(genericDraweeHierarchy); holder.img.setImageURI(list.get(0).getImage()); holder.text.setText(list.get(2).getTitle()); if(null != onItemClickListener) { /*回调点击事件*/ 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 list.size(); } /* @Override public int getItemViewType(int position) { switch(position%4){ case 0: return Viewk_0; // break; case 1: return Viewk_1; //break; case 2: return Viewk_2; break; case 3: return Viewk_3; //break; } return position; }*/ class ViewHolder extends RecyclerView.ViewHolder{ TextView text; SimpleDraweeView img; View itemViews; public ViewHolder(View itemView) { super(itemView); itemViews = itemView; text = itemView.findViewById(R.id.text); img = itemView.findViewById(R.id.img); } } } /compile 'com.android.support:recyclerview-v7:25.1.0'
RecyclerView点击 长按 多条目 fresco
最新推荐文章于 2022-08-14 13:16:37 发布