RecyclerView的基本用法
来源:互联网 发布:论坛源码3.4 编辑:程序博客网 时间:2024/05/17 23:46
//他的子类有三个:StaggeredGridLayoutManger 瀑布流布局管理器;LinearLayoutManager 线性布局管理器;GridLayoutManager 布局管理器
main_rcv.setLayoutManager(new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL));
再设置adapter
2、recyclerview的apdapter是继承自extends RecyclerView.Adapter,并且他的点击事件还要自己重写
例如:
public class ProductListAdapter extends RecyclerView.Adapter {
private Context context;
public void setProductList(List<HotProductListBean.ProductListBean> productList) {
this.productList = productList;
}
private List<HotProductListBean.ProductListBean> productList;
public ProductListAdapter(Context context, List<HotProductListBean.ProductListBean> productList) {
this.context = context;
this.productList = productList;
}
private ProductListItemLongClickListener mlongClickListener;
private ProductListItemClickListener mClickListener;
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
ProductListHolder holder = new ProductListHolder(View.inflate(context, R.layout.item_productlist, null),mlongClickListener,mClickListener);
return holder;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int i) {
HotProductListBean.ProductListBean productListBean = productList.get(i);
ProductListHolder holder = (ProductListHolder) viewHolder;
Glide.with(context).load(SPConstants.HOMEURL+productListBean.getPic()).placeholder(R.mipmap.ic_launcher)
.error(R.mipmap.ic_launcher).into(holder.iv);
holder.desc_top.setText(productListBean.getName());
holder.desc_bottom.setText("市场价"+productListBean.getMarketPrice());
holder.pri.setText(productListBean.getPrice()+"");
}
@Override
public int getItemCount() {
return productList == null ? 0 : productList.size();
}
public class ProductListHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener {
private ImageView iv;
private TextView desc_top;
private TextView desc_bottom;
private TextView pri;
private ProductListItemLongClickListener longClickListener;
private ProductListItemClickListener clickListener;
public ProductListHolder(View itemView, ProductListItemLongClickListener productListItemLongClickListener,
ProductListItemClickListener productListItemClickListener) {
super(itemView);
iv = (ImageView) itemView.findViewById(R.id.product_detail_vp);
desc_top = (TextView) itemView.findViewById(R.id.item_productlist_dsc_top);
desc_bottom = (TextView) itemView.findViewById(R.id.item_productlist_dsc_bottom);
pri = (TextView) itemView.findViewById(R.id.item_productlist_pri);
longClickListener = productListItemLongClickListener;
clickListener = productListItemClickListener;
itemView.setOnClickListener(this);
itemView.setOnLongClickListener(this);
}
@Override
public void onClick(View v) {
Log.i("test","点击事件为空");
if (clickListener != null){
Log.i("test","点击事件不为空");
clickListener.onItemClick(v,getPosition());
}
}
@Override
public boolean onLongClick(View v) {
Log.i("test","长按事件为空");
if (longClickListener != null){
Log.i("test","长按事件不为空");
longClickListener.onItemLongClick(v,getPosition());
}
return true;
}
}
public interface ProductListItemLongClickListener {
void onItemLongClick(View view, int position);
}
public interface ProductListItemClickListener {
void onItemClick(View view, int position);
}
public void setOnItemLongClickListener(ProductListItemLongClickListener productListItemLongClickListener){
mlongClickListener = productListItemLongClickListener;
}
public void setOnItemClickListener(ProductListItemClickListener productListItemClickListener){
mClickListener = productListItemClickListener;
}
}
- RecyclerView的基本用法
- RecyclerView的基本用法
- RecyclerView的基本用法
- RecyclerView的基本用法
- RecyclerView的基本用法
- RecyclerView的基本用法
- RecyclerView的基本用法
- RecyclerView的基本用法
- RecyclerView的基本用法
- RecyclerView的基本用法
- RecyclerView的基本用法
- recyclerview的基本用法(一)
- Android RecyclerView的基本用法
- RecyclerView的基本用法 (一)
- RecyclerView的基本用法 (二)
- RecyclerView的基本用法 (三)
- RecyclerView的基本用法 (四)
- RecyclerView的基本用法 (五)
- springmvc登陆拦截案例
- org.apache.catalina.LifecycleException tomcat 启动 maven 处处都是坑!!!
- 修改eclipse中包的显示结构为树形
- 项目实战—— 类型java.lang.charsequence不能解决(完美解决!)
- String类型和int类型相互转换
- RecyclerView的基本用法
- findbugs的警告类型
- pyqt4文档阅读(9.2):QLinearGradient-QRadialGradient-QConicalGradient
- java获取mysql表元信息
- redis的String结构和命令详解
- wabacus学习总结1(wabacus.org)
- 群中有用记录
- java与javac版本不一致问题
- JQuery最佳实践—-看完绝对提升你的代码质量