package com.halzhang.android.example.recyclerviewdemo; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import java.util.ArrayList; import java.util.List; /** * Created by zhanghanguo@yy.com on 2015/2/27. */ public class MyRecyclerAdapter extends RecyclerView.Adapter<MyRecyclerAdapter.ViewHolder> { private List<String> mDatas = new ArrayList<>(0); public MyRecyclerAdapter(List<String> datas) { if (datas != null) { mDatas.addAll(datas); } } public static final class ViewHolder extends RecyclerView.ViewHolder { private final TextView textView; private final Button button; public ViewHolder(View itemView) { super(itemView); textView = (TextView) itemView.findViewById(R.id.item_text); button = (Button) itemView.findViewById(R.id.item_button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(v.getContext(), String.valueOf(getPosition()), Toast.LENGTH_SHORT).show(); } }); } public TextView getTextView() { return textView; } public Button getButton() { return button; } } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item, null); return new ViewHolder(view); } @Override public void onBindViewHolder(ViewHolder holder, int position) { holder.getButton().setText(String.valueOf(position)); holder.getTextView().setText(mDatas.get(position)); } @Override public int getItemCount() { return mDatas.size(); } }