public class RecycleAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private static final String TAG = "RecycleAdapter-----";
private final Context context;
private final List<GoodsBean.DataBeanX.DataBean> list;
public MyViewHodler1 hodler1;
public MyViewHodler2 hodler2;
public RecycleAdapter(Context context, List<GoodsBean.DataBeanX.DataBean> list) {
this.context = context;
this.list = list;
int size = list.size();
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if (viewType == 0) {
View view = View.inflate(context, R.layout.lv_item, null);
hodler1 = new MyViewHodler1(view);
return hodler1;
} else {
View view1 = View.inflate(context, R.layout.gv_item, null);
hodler2 = new MyViewHodler2(view1);
return hodler2;
}
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
switch (getItemViewType(position)) {
case 0:
hodler1 = (MyViewHodler1) holder;
String title1 = list.get(position).getTitle();
Log.d(TAG, "标题1: " + title1);
hodler1.getLv_tv().setText(title1);
hodler1.getLv_tv1().setText(list.get(position).getViews_label());
String pics = list.get(position).getPics().get(0);
String img = HttpConfig.icon_url + pics;
final ImageView lv_pic = hodler1.getLv_pic();
ImageLoader loader = ImageLoader.getInstance();
loader.displayImage(img, lv_pic);
//设置图片的点击动画
lv_pic.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "---");
//动画
ObjectAnimator alpha = ObjectAnimator.ofFloat(lv_pic, "alpha", 1.0f, 0.0f, 1.0f);
alpha.setDuration(3000);
alpha.start();
}
});
break;
case 1:
hodler2 = (MyViewHodler2) holder;
hodler2.getGv_tv().setText(list.get(position).getTitle());
String s = list.get(position).getPics().get(0);
String img1 = HttpConfig.icon_url + s;
final ImageView gv_pic1 = hodler2.getGv_pic1();
final ImageView gv_pic2 = hodler2.getGv_pic2();
final ImageView gv_pic3 = hodler2.getGv_pic3();
ImageLoader loader1 = ImageLoader.getInstance();
loader1.displayImage(img1, gv_pic1);
loader1.displayImage(img1, gv_pic2);
loader1.displayImage(img1, gv_pic3);
gv_pic1.setOnClickListener (new View.OnClickListener () {
@Override
public void onClick(View v) {
ObjectAnimator alpha1 = ObjectAnimator.ofFloat (gv_pic1, "alpha", 1.0f, 0.0f, 1.0f);
alpha1.setDuration (3000);
alpha1.start ();
}
});
gv_pic2.setOnClickListener (new View.OnClickListener () {
@Override
public void onClick(View v) {
ObjectAnimator alpha2 = ObjectAnimator.ofFloat (gv_pic2, "alpha", 1.0f, 0.0f, 1.0f);
alpha2.setDuration (3000);
alpha2.start ();
}
});
gv_pic3.setOnClickListener (new View.OnClickListener () {
@Override
public void onClick(View v) {
ObjectAnimator alpha3 = ObjectAnimator.ofFloat (gv_pic3, "alpha", 1.0f, 0.0f, 1.0f);
alpha3.setDuration (3000);
alpha3.start ();
}
});
break;
}
//点击子条目长按删除
holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
AlertDialog dialog = new AlertDialog.Builder(context)
.setTitle("删除框")
.setMessage("确认删除吗?")
.setPositiveButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss ();
}
})
.setNegativeButton("確定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
list.remove(position);
notifyDataSetChanged();
dialog.dismiss();
}
}).create();
dialog.show();
return true;
}
});
}
//设置多条目
@Override
public int getItemViewType(int position) {
List<String> pics = list.get(position).getPics();
int size = pics.size();
if (size == 1) {
return 0;
}
return 1;
}
@Override
public int getItemCount() {
return list.size();
}
//创建holder的方法
class MyViewHodler1 extends RecyclerView.ViewHolder {
private final TextView lv_tv;
private final TextView lv_tv1;
private final ImageView lv_pic;
public MyViewHodler1(View itemView) {
super(itemView);
lv_tv = itemView.findViewById(R.id.lv_tv);
lv_tv1 = itemView.findViewById(R.id.lv_tv1);
lv_pic = itemView.findViewById(R.id.lv_pic);
}
public TextView getLv_tv() {
return lv_tv;
}
public TextView getLv_tv1() {
return lv_tv1;
}
public ImageView getLv_pic() {
return lv_pic;
}
}
class MyViewHodler2 extends RecyclerView.ViewHolder {
private final TextView gv_tv;
private final ImageView gv_pic1;
private final ImageView gv_pic2;
private final ImageView gv_pic3;
public MyViewHodler2(View itemView) {
super(itemView);
gv_tv = itemView.findViewById(R.id.gv_tv);
gv_pic1 = itemView.findViewById(R.id.gv_pic1);
gv_pic2 = itemView.findViewById(R.id.gv_pic2);
gv_pic3 = itemView.findViewById(R.id.gv_pic3);
}
public TextView getGv_tv() {
return gv_tv;
}
public ImageView getGv_pic1() {
return gv_pic1;
}
public ImageView getGv_pic2() {
return gv_pic2;
}
public ImageView getGv_pic3() {
return gv_pic3;
}
}
}
RecycleView多条目加载,设置动画
猜你喜欢
转载自blog.csdn.net/chen_md/article/details/80187776
今日推荐
周排行