通过 xml 加载 youtube 视频不会关闭 android 中的默认进度条
Posted
技术标签:
【中文标题】通过 xml 加载 youtube 视频不会关闭 android 中的默认进度条【英文标题】:loading youtube videos through xml do not dismiss default progress bar in android 【发布时间】:2019-12-29 19:43:24 【问题描述】:我创建了一个应用程序,我从后端获取 youtube id,然后将其附加到 webview 以在我的 recylerview 中显示 youtube 视频列表。一切工作都很好,但唯一的问题是,即使在加载所有视频后,我也不会从哪里连续显示默认的进度条。我想关闭这个默认进度条。
这是适配器的代码
class YoutubeAdapter(internal var context: Context, internal var youtubevideosList: List<YoutubeModel>, recyclerView: RecyclerView) : RecyclerView.Adapter<YoutubeAdapter.MViewHolder>()
internal var recyclerView: RecyclerView? = null
internal var progressBar:ProgressBar?=null
init
this.recyclerView = recyclerView
this.progressBar=ProgressBar(context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MViewHolder
val view = LayoutInflater.from(context).inflate(R.layout.youtube_row, parent, false)
return MViewHolder(view)
override fun onBindViewHolder(holder: MViewHolder, position: Int)
//val youtubeid = "Wn8-CsL_lg4"
val youtubeid = youtubevideosList.get(position).getYoutubeID()
//val youtubelink = "<iframe width=\"100%\" height=\"100%\" src=\"https://www.youtube.com/embed/"+youtubeid+"\" frameborder=\"0\" allowfullscreen></iframe>"
val youtubelink1 = "<iframe width=\"100%\" height=\"100%\" src=\"https://www.youtube.com/embed/$youtubeid\" frameborder=\"0\" allowfullscreen></iframe>"
holder.youTubePlayerView.loadData(youtubelink1, "text/html", "utf-8")
//holder.descTextview.text=youtubevideosList.get(position).getVideoDesc()
override fun getItemCount(): Int
return youtubevideosList.size
inner class MViewHolder(internal var view: View) : RecyclerView.ViewHolder(view)
internal var youTubePlayerView: WebView
internal var descTextview: TextView
internal var progressBar:ProgressBar?=null
init
youTubePlayerView = view.findViewById<View>(R.id.webVideoView) as WebView
descTextview = view.findViewById<View>(R.id.describtion_tv) as TextView
youTubePlayerView.getSettings().setjavascriptEnabled(true)
progressBar= ProgressBar(context)
/* youTubePlayerView.setWebChromeClient(object : WebChromeClient()
)*/
我没有在任何地方声明我的进度条,但它是从哪里持续显示的?
【问题讨论】:
【参考方案1】:在您声明的 YoutubeAdapter 类和 MViewHolder 内部类中,它们初始化了一个进度条。为什么你说你没有?
在 YoutubeAdapter 类中删除:
internal var progressBar:ProgressBar?=null
和
this.progressBar=ProgressBar(context)
在 MViewHolder 类中删除:
internal var progressBar:ProgressBar?=null
和
progressBar=ProgressBar(context)
【讨论】:
以上是关于通过 xml 加载 youtube 视频不会关闭 android 中的默认进度条的主要内容,如果未能解决你的问题,请参考以下文章
如何为 YouTube 视频添加启动画面/占位符图像 [关闭]