如何使用 android kotlin 将来自 firebase 存储的视频放入 recyclerview 中?
How to put videos in recyclerview from firebase storage using android kotlin?
我使用了与从 firebase 存储中将图像获取到 recyclerview 的代码类似的代码。这是适配器的代码。:-
class VideoAdapter (private var mContext: Context,
private var mvideos: List<VID>,
private var isActivity: Boolean = false) : RecyclerView.Adapter<VideoAdapter.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VideoAdapter.ViewHolder {
val view = LayoutInflater.from(mContext).inflate(R.layout.videos_adapter, parent, false)
return VideoAdapter.ViewHolder(view)
}
override fun onBindViewHolder(holder: VideoAdapter.ViewHolder, position: Int) {
val videoid = mvideos[position]
holder.VidId.text = videoid.getilp()
val mediaController = MediaController(mContext)
mediaController.setAnchorView(holder.VideoIv)
VideoIv.setMediaController(mediaController)
VideoIv.setVideoURI(videoid.getVideoUrl())
VideoIv.requestFocus()
VideoIv.pause()
}
override fun getItemCount(): Int {
return mvideos.size
}
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
var VideoIv: VideoView = itemView.videos_ret
var VidId: TextView = itemView.videos_id_ret
}
}
使用此代码时,我无法 VideoIv 无法设置 mediacontroller 和 setvideouri。我得到的数据是 URI 类型的。有人可以告诉我如何在我的 recyclerview 中获取视频吗?
而不是 VideoIv。使用 holder.VideoIv
val mediaController = MediaController(mContext)
mediaController.setAnchorView(holder.VideoIv)
holder.VideoIv.setMediaController(mediaController)
holder.VideoIv.setVideoURI(videoid.getVideoUrl())
holder.VideoIv.requestFocus()
holder.VideoIv.pause()
我使用了与从 firebase 存储中将图像获取到 recyclerview 的代码类似的代码。这是适配器的代码。:-
class VideoAdapter (private var mContext: Context,
private var mvideos: List<VID>,
private var isActivity: Boolean = false) : RecyclerView.Adapter<VideoAdapter.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VideoAdapter.ViewHolder {
val view = LayoutInflater.from(mContext).inflate(R.layout.videos_adapter, parent, false)
return VideoAdapter.ViewHolder(view)
}
override fun onBindViewHolder(holder: VideoAdapter.ViewHolder, position: Int) {
val videoid = mvideos[position]
holder.VidId.text = videoid.getilp()
val mediaController = MediaController(mContext)
mediaController.setAnchorView(holder.VideoIv)
VideoIv.setMediaController(mediaController)
VideoIv.setVideoURI(videoid.getVideoUrl())
VideoIv.requestFocus()
VideoIv.pause()
}
override fun getItemCount(): Int {
return mvideos.size
}
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
var VideoIv: VideoView = itemView.videos_ret
var VidId: TextView = itemView.videos_id_ret
}
}
使用此代码时,我无法 VideoIv 无法设置 mediacontroller 和 setvideouri。我得到的数据是 URI 类型的。有人可以告诉我如何在我的 recyclerview 中获取视频吗?
而不是 VideoIv。使用 holder.VideoIv
val mediaController = MediaController(mContext)
mediaController.setAnchorView(holder.VideoIv)
holder.VideoIv.setMediaController(mediaController)
holder.VideoIv.setVideoURI(videoid.getVideoUrl())
holder.VideoIv.requestFocus()
holder.VideoIv.pause()