android - 用毕加索加载图片网址的问题
问题描述
我正在从某个 url 加载图像,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
但仍然无法正常工作,所以我假设我做错了什么。
编辑 网址是正确的
解决方案
根据这里的链接,在我记录Picasso
错误之后,这是:
W/System.err:java.io.IOException:无法解码流。
这个问题在这里无法解决。正如讨论所说:
当 Android 无法解码您的图像时会发生此错误。毕加索无法纠正这一点。考虑使用其他图像格式或重新编码您的图像。
推荐阅读
- android - 清除 TextView 的文本后,HorizontalScrollView 保持可滚动状态
- c - 静态链接到 C 程序的 Rust 代码是否因此获得任何有益的安全属性?
- arduino - Arduino Mega 上的这个芯片叫什么名字?我没有找到它的数据表 56 TI MSP?
- go - 创建 Couchbase 的动态 n1ql 查询,但它没有返回记录并优雅退出而没有任何错误
- django - Elastic Beanstalk Aws Django 静态和媒体文件
- d3.js - 交互性问题
- ansible - 如果版本不符合,获取 splunk 版本并使用 ansible 更新它
- javascript - 使用 Axios 和 Firebase 时出现 401 未经授权的错误
- r - 从 acast 函数输出创建表 [r]
- docker - 无法访问端口 80 上的应用程序