2024.5.13
第四十七天
所花时间:2小时
代码量:200
博客量:1
了解到的知识点:大作业3
图片发布以及相册权限
ImageAdapter.java
package com.example.photo1; import android.content.Context; import android.net.Uri; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.Glide; import java.util.List; public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ViewHolder> { private List<Uri> imageUris; private Context context; public ImageAdapter(List<Uri> imageUris, Context context) { this.imageUris = imageUris; this.context = context; } @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.image_item, parent, false); return new ViewHolder(view); } @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { Uri uri = imageUris.get(position); Glide.with(context).load(uri).into(holder.imageView); } @Override public int getItemCount() { return imageUris.size(); } public static class ViewHolder extends RecyclerView.ViewHolder { ImageView imageView; public ViewHolder(@NonNull View itemView) { super(itemView); imageView = itemView.findViewById(R.id.imageViewItem); } } }
image_item.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="8dp"> <ImageView android:id="@+id/imageViewItem" android:layout_width="100dp" android:layout_height="100dp" android:scaleType="centerCrop" /> </LinearLayout>