package dongyushan.bwie.com.jd.adapter; import android.content.Context; import android.net.Uri; import android.support.annotation.NonNull; 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.TextView; import com.facebook.drawee.view.SimpleDraweeView; import java.util.List; import dongyushan.bwie.com.jd.R; import dongyushan.bwie.com.jd.bean.HomeBean; import dongyushan.bwie.com.jd.bean.ListBean; public class FenZuoAdapter extends RecyclerView.Adapter<FenZuoAdapter.ListHolder> implements View.OnClickListener { private List<ListBean.DataBean> list; private Context context; private OnMyItemClickListener onMyItemClickListener;//定义的接口 private RecyclerView recyclerView; public FenZuoAdapter(List<ListBean.DataBean> list, Context context) { this.list = list; Log.e("TAG", "adapter请求的长度是" + list.size()); this.context = context; } public void setOnMyItemClickListener(OnMyItemClickListener onMyItemClickListener) { this.onMyItemClickListener = onMyItemClickListener; } //Adapter绑定RecyclerView时 @Override public void onAttachedToRecyclerView(@NonNull RecyclerView recyclerView) { super.onAttachedToRecyclerView(recyclerView); this.recyclerView = recyclerView; } //Adapter解除绑定RecyclerView时 @Override public void onDetachedFromRecyclerView(@NonNull RecyclerView recyclerView) { super.onDetachedFromRecyclerView(recyclerView); this.recyclerView = null; } @NonNull @Override public ListHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { View view = LayoutInflater.from(context).inflate(R.layout.fenshu, null); view.setOnClickListener(this);//设置接口的实现方法 ListHolder listHolder = new ListHolder(view); return listHolder; } @Override public void onBindViewHolder(@NonNull ListHolder listHolder, final int i) { listHolder.text01.setText(list.get(i).getName()); } @Override public int getItemCount() { return list.size(); } @Override public void onClick(View view) { if (recyclerView != null && onMyItemClickListener != null) { int position = recyclerView.getChildAdapterPosition(view); onMyItemClickListener.onMyItemClick(recyclerView, view, position, ""); } } class ListHolder extends RecyclerView.ViewHolder { private final TextView text01; public ListHolder(View itemView) { super(itemView); text01 = itemView.findViewById(R.id.text_fen_name); } } // 接口回调 public interface OnMyItemClickListener { void onMyItemClick(RecyclerView parent, View view, int position, String data); } }
package dongyushan.bwie.com.jd.adapter; import android.content.Context; import android.support.annotation.NonNull; import android.support.v7.widget.GridLayoutManager; 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; import java.util.List; import dongyushan.bwie.com.jd.R; import dongyushan.bwie.com.jd.bean.FenBean; public class FenYouAdapter extends RecyclerView.Adapter<FenYouAdapter.oneHolder> { private List<FenBean.DataBean> msg = new ArrayList<>(); private Context context; public FenYouAdapter(Context context) { this.context = context; } public void setData(List<FenBean.DataBean> s) { msg.clear(); msg.addAll(s); } @NonNull @Override public oneHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { View view = LayoutInflater.from(context).inflate(R.layout.fenyou, viewGroup, false); oneHolder oneHolder = new oneHolder(view); return oneHolder; } @Override public void onBindViewHolder(@NonNull oneHolder oneHolder, int i) { oneHolder.name.setText(msg.get(i).getName()); GridLayoutManager gridLayoutManager = new GridLayoutManager(context,3,GridLayoutManager.VERTICAL,false); oneHolder.recyclerView.setLayoutManager(gridLayoutManager); List<FenBean.DataBean.ListBean> list = msg.get(i).getList(); ZiAdapter ziAdapter = new ZiAdapter(list,context); oneHolder.recyclerView.setAdapter(ziAdapter); } @Override public int getItemCount() { return msg.size(); } class oneHolder extends RecyclerView.ViewHolder { TextView name; RecyclerView recyclerView; public oneHolder(View itemView) { super(itemView); name = itemView.findViewById(R.id.fen_you_text); recyclerView = itemView.findViewById(R.id.fenyou_child); } } }