使用 Glide 进行 API 调用的 ImageView 中没有图像

No Images in ImageView using Glide making API call

我已成功调用 api。除了图像,一切都显示出来了。

import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.example.moviespotter.R

class MoviesAdapter(val movies: List<Result>): RecyclerView.Adapter<MoviesViewHolder>() {
    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MoviesViewHolder {
        val view = LayoutInflater.from(parent.context).inflate(R.layout.movie_item, parent, false)
        return MoviesViewHolder(view)
    }

    override fun getItemCount(): Int {
        return movies.size
    }

    override fun onBindViewHolder(holder: MoviesViewHolder, position: Int) {
        return holder.bind(movies[position])
    }
}

class MoviesViewHolder(itemView : View): RecyclerView.ViewHolder(itemView){
    private val photo:ImageView = itemView.findViewById(R.id.movie_photo)
    private val title:TextView = itemView.findViewById(R.id.movie_title)
    private val overview:TextView = itemView.findViewById(R.id.movie_overview)
    private val rating:TextView = itemView.findViewById(R.id.movie_rating)

    fun bind(movie: Result) {
        Glide.with(itemView.context).load("http://image.tmdb.org/t/p/w500${movie.poster_path}").into(photo)
        title.text = "Title: " + movie.title
        overview.text = movie.overview
        rating.text = "User Score: " + movie.vote_average.toString()
    }
}

我不知道发生了什么。没有错误。当我使用 url 搜索图像时,这些图像是有效的。似乎什么都没有坏。

这是 RelativeLayout 中的 ImageView:

<ImageView
                android:layout_width="match_parent"
                android:layout_height="200dp"
                android:layout_centerHorizontal="true"
                android:id="@+id/movie_photo"
                android:contentDescription="Movie Image" />


更新:

确实出现了我添加的占位符:

Glide.with(itemView.context).load("http://image.tmdb.org/t/p/w500/rjkmN1dniUHVYAtwuV3Tji7FsDO.jpg").placeholder(R.drawable.space_dog_laika1).into(photo)

添加占位符以检查是 imageUrl 的错误还是 ImageView 的错误。

Glide.with(this).load(imgUrl).placeholder(R.drawable.product_item).into(imageView)

哇。原来我少了一个 's'.

https 而不是 http。

Glide.with(itemView.context).load("https://image.tmdb.org/t/p/w500/rjkmN1dniUHVYAtwuV3Tji7FsDO.jpg").placeholder(R.drawable.space_dog_laika1).into(photo)