使用毕加索加载图片网址时出现问题

时间:2019-05-04 12:57:11

标签: android picasso

我正在使用Picasso从某个网址加载图片,但出现此错误:

  

无法创建带有消息“未实现”的图像解码器

这是我的适配器类:

class CountriesAdapter(var countriesList: ArrayList<Country>) :
    RecyclerView.Adapter<CountriesAdapter.CountriesViewHolder>() {

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CountriesViewHolder =
        CountriesViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.single_item_country, parent, false))


    override fun onBindViewHolder(holder: CountriesViewHolder, position: Int) {
        holder.bind(countriesList[position])
    }

    override fun getItemCount(): Int = countriesList.size


    class CountriesViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        fun bind(country: Country) = with(itemView) {
            itemView.tvCountryName.text = country.name
            Picasso.get().load(country.flagUrl).fit().placeholder(R.drawable.ic_asr_sun).into(itemView.ivCountryFlag)
        }

    }
}

我使用Glide测试了相同的用例,但仍然无法正常工作,因此我假设自己做错了什么。

修改 网址正确

1 个答案:

答案 0 :(得分:0)

在我记录了Picasso错误之后,根据这里的this链接:

  

W / System.err:java.io.IOException:无法解码流。

此问题无法在此处解决。正如讨论所述:

  

当Android无法解码图像时,会发生此错误。有   毕加索无法采取任何纠正措施。考虑使用其他图片   格式化或重新编码图像。