package com.bw.week2_04.adapter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
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.bw.week2_04.R;
import com.bw.week2_04.bean.Result;
import java.util.ArrayList;
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
Context context;
ArrayList<Result> result;
final static int TYPE_ONE = 0;
final static int TYPE_TWO = 1;
public MyAdapter(Context context, ArrayList<Result> result) {
this.context = context;
this.result = result;
}
// 获取
@Override
public int getItemViewType(int position) {
return position % 2;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
if (TYPE_ONE==i){
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item1,null,false);
MyViewHolder myViewHolder = new MyViewHolder(view);
return myViewHolder;
}else {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item2,null,false);
MyViewHolder myViewHolder = new MyViewHolder(view);
return myViewHolder;
}
}
@Override
public void onBindViewHolder(@NonNull final MyViewHolder myViewHolder, int i) {
int itemViewType = getItemViewType(i);
Result result = this.result.get(i);
// 使itemViewType==TYPE_ONE
if (itemViewType == TYPE_ONE){
myViewHolder.item1_title1.setText(result.getCommodityName());
Glide.with(context).load(result.getMasterPic()).into(myViewHolder.item1_image1);
}else {
myViewHolder.item2_title1.setText(result.getCommodityName());
Glide.with(context).load(result.getMasterPic()).into(myViewHolder.item2_image1);
Glide.with(context).load(result.getMasterPic()).into(myViewHolder.item2_image2);
}
// 单击事件
myViewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 当前条目位置
int position = myViewHolder.getAdapterPosition();
// 当亲条目样式
View itemView = myViewHolder.itemView;
// 调用接口方法
if (itemClickLisenter != null){
itemClickLisenter.onItemClick(itemView,position);
}
}
});
// 长按事件
myViewHolder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// 条目位置
int position = myViewHolder.getAdapterPosition();
// 条目样式
View itemView = myViewHolder.itemView;
// 调用接口方法
if (itemLongClickLisenter != null){
itemLongClickLisenter.onItemLongClick(itemView,position);
}
return true;
}
});
}
@Override
public int getItemCount() {
return result.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder{
private final TextView item1_title1;
private final ImageView item1_image1;
private final TextView item2_title1;
private final ImageView item2_image1;
private final ImageView item2_image2;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
item1_title1 = itemView.findViewById(R.id.item1_title1);
item1_image1 = itemView.findViewById(R.id.item1_image1);
item2_title1 = itemView.findViewById(R.id.item2_title1);
item2_image1 = itemView.findViewById(R.id.item2_image1);
item2_image2 = itemView.findViewById(R.id.item2_image2);
}
}
// 创建单击事件接口
public interface onItemClickLisenter{
void onItemClick(View view,int position);
}
// 创建长按事件接口
public interface onItemLongClickLisenter{
void onItemLongClick(View view,int position) ;
}
// 定义、
public onItemClickLisenter itemClickLisenter;
public onItemLongClickLisenter itemLongClickLisenter;
// 监听
public void setItemClickLisenter(MyAdapter.onItemClickLisenter onItemClickLisenter) {
this.itemClickLisenter = onItemClickLisenter;
}
public void setItemLongClickLisenter(MyAdapter.onItemLongClickLisenter onItemLongClickLisenter) {
this.itemLongClickLisenter = onItemLongClickLisenter;
}
}