android - 通过 xml 加载 youtube 视频不会关闭 android 中的默认进度条
问题描述
我创建了一个应用程序,我从后端获取 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() {
})*/
}
}
}
我没有在任何地方声明我的进度条,但它是从哪里持续显示的?
解决方案
在您声明的 YoutubeAdapter 类和 MViewHolder 内部类中,它们初始化了一个进度条。为什么你说你没有?
在 YoutubeAdapter 类中删除:
internal var progressBar:ProgressBar?=null
和
this.progressBar=ProgressBar(context)
在 MViewHolder 类中删除:
internal var progressBar:ProgressBar?=null
和
progressBar=ProgressBar(context)
推荐阅读
- rspec - Capybara RSpec 匹配器等待元素?
- java - 获取 PDPage/PDDocument 的 DPI 以准确计算 PDF 尺寸
- android - LinearLayout 没有填满整个屏幕宽度
- plsqldeveloper - 从 sql developer 执行存储过程与从数据库服务器执行
- r - R RSelenium/seleniumPipes 未知错误:找不到 Chrome 二进制文件
- c# - 代码中未指定交易所的 MassTransit ACCESS_REFUSED
- rest - 可选功能参数的 REST GET 设计
- r - 如何在 R 中为所需的货币符号和括号“()”中的负数格式化数据表或矩阵
- php - 使用php在mysql中进行行编号
- linux - 如何在不运行 source 命令的情况下将子 shell 的执行行打印到主 shell?