Android Kotlin-在RecyclerView中以编程方式创建VideoView

问题描述

这是在onBindViewHolder内:

val vidView: VideoView = VideoView(context)

val layoutParams: LinearLayout.LayoutParams = LinearLayout.LayoutParams(
    ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT
)

vidView.layoutParams = layoutParams


holder.playContainer.addView(vidView)
vidView.setVideoURI(uri)

vidView.requestFocus()

vidView.setonPreparedListener { mp -> //Start Playback

    Log.d(tagg,"bla")

    mpp = mp

    vidView.start()

    //Loop Video
    mpp!!.isLooping = true
}

它不起作用,并且没有出现任何错误bla不在logcat中。视频文件有效。我以前是通过直接在XML文件中放置VideoView来播放视频的,但是这样做有问题,因为android真是一团糟:Android Kotlin - BUG: prevent triggering Listener (VideoView setOnPreparedListener) from previous items in Recyclerview

所以我需要以编程方式执行此操作。

在这里做错了什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)