RecyclerView多布局加接口回调点击分享
2017-12-07 03:34
316 查看
package com.example.umshares; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import java.util.ArrayList; /** * Created by 吕楠 on 2017/12/7. */ public class Adapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{ private ArrayList<String> arr; private final static int ITEM_ONE = 1; private final static int ITEM_TOW = 2; private Onclick mOnclick = null; public Adapter(ArrayList<String> arr) { this.arr = arr; } static interface Onclick{ void OnclickListener(int position); } public void setOnClickss(Onclick listener){ this.mOnclick = listener; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext()); View view; RecyclerView.ViewHolder holder = null; if (ITEM_ONE == viewType){ view = layoutInflater.inflate(R.layout.itemtow,parent,false); holder = new HolderOne(view); }else { view = layoutInflater.inflate(R.layout.itemone,parent,false); holder = new HolderTow(view); } return holder; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) { if (holder instanceof HolderOne){ ((HolderOne) holder).textView.setText(arr.get(position)); }else { ((HolderTow)holder).textView.setText(arr.get(position)); ((HolderTow)holder).textView2.setText(arr.get(position)); } holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mOnclick.OnclickListener(position); } }); } @Override public int getItemViewType(int position) { if (position % 2 == 0){ return ITEM_ONE; }else { return ITEM_TOW; } } @Override public int getItemCount() { return arr.size(); } class HolderOne extends RecyclerView.ViewHolder { private TextView textView; public HolderOne(View itemView) { super(itemView); textView = (TextView) itemView.findViewById(R.id.adapter_linear_text); } } class HolderTow extends RecyclerView.ViewHolder { private TextView textView; private TextView textView2; public HolderTow(View itemView) { super(itemView); textView = (TextView) itemView.findViewById(R.id.adapter_two_1); textView2 = (TextView) itemView.findViewById(R.id.adapter_two_2); } } }
相关文章推荐
- RecyclerView的点击事件添加-------接口回调的形式添加
- RecyclerView的基本用法 (一个控件实现ListView, GridView等效果)+接口回调点击事件
- 接口回调实现RecyclerView的条目点击事件
- RecyclerView 实现瀑布流及点击事件,含点击回调的接口
- Android中Recyclerview使用7----条目中按钮点击事件,在activity中调用(接口回调)
- RecyclerView条目的点击事件,接口回调
- RecyclerView的分割线+回调接口的点击事件(点击事件+长按的点击事件)
- RecyclerView点击切换布局
- Android中封装View提供接口供点击事件回调的方法及使用
- Android中使用回调接口实现自定义view的点击事件
- Recycler点击事件_接口回调
- Recyclerview加点击和长按点击事件布局和Recyclerview一样
- RecyclerView使用、上拉加载、局部刷新、多种布局、点击事件和坑
- 接口回调----点击item中的ImageView,在Activity中显示dialog
- 接口的使用—自定义view点击事件的接口回调
- RecyclerView删除item和接口回调
- RecyclerView多布局与Item点击事件
- RecyclerView布局的点击(并非item的点击)
- 安卓中RecyclerView的简单使用和自定义RecyclerView的接口点击监听事件
- 详解Android中回调机制与RecyclerView的Item点击事件实现