使用webview的Android自定义列表视图重置网址

时间:2011-06-13 14:41:03

标签: android listview webview reload

大家好我已经找到了解决这个问题的方法...我有一个自定义列表视图,它是通过扩展baseadapter类并扩展一个由3个控件1组成的简单布局来创建的

  1. 网络视图
  2. 的TextView
  3. imageview的
  4. 在webview中,我将显示一个小的播放按钮图标,它将从远程播放一些mp3。我需要做的就是重新加载列表视图中可用的所有webview控件... 希望你能理解我的问题是什么......

    只要考虑一下这个场景......一旦页面加载我点击第一个将开始播放mp3歌曲的webview,如果我点击第二个webview,它们将同时播放...这是不是我需要的。所以只有可能的解决方案,我认为每次用户点击webview时重新加载页面中的所有webview ...

    希望得到更好的答复...... 提前致谢

2 个答案:

答案 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元素,如ButtonImageView等,并调用该服务?相信我,它会为你节省很多变通方法。