我试图显示从API中获取的链接的gif,但在输出中,它没有显示gif。它正确地显示了图像。我已经使用了堆栈溢出中的代码,但似乎对我不起作用。你能帮助我吗...下面是代码:
视图持有人类
class GifAdapter:RecyclerView.Adapter<GifAdapter.GifViewHolder>() {
private val items = mutableListOf<Data>()
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): GifViewHolder {
val inflater = LayoutInflater.from(parent.context)
val view = inflater.inflate(R.layout.gifsdisplaypattern,parent,false)
return GifViewHolder(view)
}
override fun onBindViewHolder(holder: GifViewHolder, position: Int) {
val currentItem = items[position]
// val avatar_url = currentItem.user.avatar_url
Glide.with(holder.itemView.context).asGif().load("https://giphy.com/embed/cBnSvKscZProc").into(holder.gif)
Log.d("Avatarurl",currentItem.embed_url)
// Glide.with(holder.itemView.context).load(currentItem.user.profile_url).into(holder.UserImage)
}
override fun getItemCount(): Int {
Log.d("Rohit", items.size.toString())
return items.size
}
fun initData(itemsList: List<Data>){
this.items.clear()
this.items.addAll(itemsList)
notifyDataSetChanged()
}
class GifViewHolder(itemView:View):RecyclerView.ViewHolder(itemView) {
val gif = itemView.findViewById<ImageView>(R.id.tv_Image)
val UserImage:ImageView =itemView.findViewById(R.id.usr_img)
}
}
xml文件
<androidx.cardview.widget.CardView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_margin="10dp"
android:elevation="10dp"
app:cardCornerRadius="10dp"
>
<!-- <androidx.appcompat.widget.AppCompatImageView-->
<!-- android:id="@+id/tv_Image"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent"-->
<!-- android:scaleType="centerCrop"-->
<!-- />-->
<ImageView
android:id="@+id/tv_Image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
/>
以前我使用currentitem.embedurl(来自数据类)代替gif链接,但这也不起作用,所以我把链接,发现没有gif显示,所以我很困惑问题出在哪里
输出量
2条答案
按热度按时间oo7oh9g91#
请尝试此路径,当前路径在代码中看起来不正确
https://media1.giphy.com/media/cBnSvKscZProc/giphy.gif
tvokkenx2#
答案是如此愚蠢,实际上我是直接加载链接没有.gif扩展名所以是问题,现在它的罚款,所以,只要记住
之前
之后
干杯:)