大家好我已经找到了解决这个问题的方法...我有一个自定义列表视图,它是通过扩展baseadapter类并扩展一个由3个控件1组成的简单布局来创建的
在webview中,我将显示一个小的播放按钮图标,它将从远程播放一些mp3。我需要做的就是重新加载列表视图中可用的所有webview控件... 希望你能理解我的问题是什么......
只要考虑一下这个场景......一旦页面加载我点击第一个将开始播放mp3歌曲的webview,如果我点击第二个webview,它们将同时播放...这是不是我需要的。所以只有可能的解决方案,我认为每次用户点击webview时重新加载页面中的所有webview ...
希望得到更好的答复...... 提前致谢
答案 0 :(得分:1)
您应该使用reload()方法停止播放。要在WebView中捕获按下按钮的事件,您应该使用setWebViewClient()或setWebChromeClient()并覆盖负责的方法。我想最后一个。更多信息: http://developer.android.com/reference/android/webkit/WebView.html
答案 1 :(得分:1)
不要重新加载每个WebView,只需重新加载你想要停止播放的那个。您需要先跟踪WebView的访问内容(您将从onClick方法获取视图对象),然后单击第二个URL时,在第一个WebView中加载第一个URL,然后开始跟踪下一个。我认为重新加载WebView应该使用AsyncTask来完成,这样它就不会停止UI线程,也不会干扰任何其他进程。
这是第二种方式,我不太确定。 使用Javascript在WebView和客户端代码之间创建一个接口。然后在单击另一个WebView后重新加载webview。以下是Android页面的摘录:
将JavaScript代码绑定到Android 代码
开发Web应用程序时 这是专为 您的Android应用程序中的WebView, 你可以在你的之间创建接口 JavaScript代码和客户端 Android代码......
我认为这是一个解决方案,但它不是最好的。
参考:Here
我仍然不明白你为什么要使用WebView。为什么不使用Android UI元素,如Button
,ImageView
等,并调用该服务?相信我,它会为你节省很多变通方法。