1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| import java.util.List;
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> { private List<List<String>> mList; private Context mContext;
public MyAdapter(List<List<String>> mList, Context mContext) { this.mList = mList; this.mContext = mContext; }
@NonNull @Override public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(mContext).inflate(R.layout.item_nine_img_layout_list, parent, false); return new MyViewHolder(view); }
@Override public void onBindViewHolder(@NonNull final MyViewHolder holder, final int position) { final List<String> mData = mList.get(position); holder.tvTitle.setText("这是" + mData.size() + "张图片的标题"); final NineImageLayout nineImageLayout = holder.nineImageLayout; holder.nineImageLayout.setAdapter(new NineImageAdapter() { @Override protected int getItemCount() { return mData.size(); }
@Override protected View createView(LayoutInflater inflater, ViewGroup parent, int i) { return inflater.inflate(R.layout.item_img_layout, parent, false); }
@Override protected void bindView(View view, final int i) { final ImageView imageView = view.findViewById(R.id.iv_img); Glide.with(mContext).load(mData.get(i)).into(imageView); if (mData.size() == 1) { Glide.with(mContext) .asBitmap() .load(mData.get(0)) .into(new SimpleTarget<Bitmap>() { @Override public void onResourceReady(Bitmap bitmap, Transition<? super Bitmap> transition) { final int width = bitmap.getWidth(); final int height = bitmap.getHeight(); nineImageLayout.setSingleImage(width, height,imageView); } }); Glide.with(mContext).load(mData.get(0)).into(imageView); } else { Glide.with(mContext).load(mData.get(i)).into(imageView); } }
@Override public void OnItemClick(int i, View view) { super.OnItemClick(position, view); Toast.makeText(mContext, "position:" + mData.get(i), Toast.LENGTH_SHORT).show(); } }); }
@Override public int getItemCount() { return mList.size(); } class MyViewHolder extends RecyclerView.ViewHolder { TextView tvTitle; NineImageLayout nineImageLayout;
public MyViewHolder(@NonNull View itemView) { super(itemView); tvTitle = itemView.findViewById(R.id.tv_title); nineImageLayout = itemView.findViewById(R.id.nine_image_layout); } } }
|