我试图检索webview内容的高度。它包含一个html字符串。 问题是无论html字符串有多长,getContentHeight()都会返回相同的值(392)。GetContentHeight()无法正常工作
回答
这个问题迫使我坚持下去。让我猜一猜:您的内容不是从网络或文件系统加载的,而是您拨打WebView.loadData()
或WebView.loadDataWithBaseUrl()
(其中您指定null
或在后一种情况下为空字符串)。对?
如果是的话,那么我想我有被this discussion启发你的解决方案:一定要使用WebView.loadDataWithBaseUrl()
方法,并提供一个baseUrl
这是不null
,而不是一个空字符串,并为不同的内容数据不同。根据SDK文档,baseUrl
仅用于评估数据中的相对URL(例如,<img>
标签未在其src
属性中指定域名),因此如果您的数据未引用外部内容,我想您可以生成“虚拟”URL (还没有尝试过)。
看起来好像WebView
正在查看网址,如果它不改变所有后续调用loadData...
将导致WebView
的高度相同。
是的,就是这样。我终于通过在文本中插入锚点并立即跳转到此锚点来加载(我需要高度滚动一定数量)来解决问题。但我确实感到困惑,getcontentheight无法正常工作......非常感谢您的帮助! – nob 2011-04-07 07:35:56
我也有getContetHeight()这个问题。 首先在WebViewClient.OnPageFinish()回调内容高度还没有设置,所以我做了它非常强大的解决方案。
Handler h;
Runnable scroll_updater = new Runnable() {
@Override
public void run() {
if(Thread.interrupted())
return;
if(lyrics.getContentHeight() == 0)
h.postDelayed(this, 100);
setLyricsScroll();
}
};
- 1. START_STICKY无法正常工作
- 2. DataTrigger无法正常工作
- 3. YTPlayerView无法正常工作
- 4. @ Html.ValidationMessageFor无法正常工作
- 5. AppDomain.CurrentDomain.SetupInformation.ConfigurationFile无法正常工作
- 6. .fadeIn()无法正常工作
- 7. OnTouchListener无法正常工作
- 8. .htaccess无法正常工作
- 9. glTexSubImage2D无法正常工作
- 10. $ ionicScrollDelegate.getScrollPosition无法正常工作
- 11. Seekbar无法正常工作
- 12. onProviderEnabled无法正常工作?
- 13. Validation.HasError无法正常工作
- 14. Math.h无法正常工作?
- 15. document.createElement无法正常工作
- 16. Input.GetKeyDown无法正常工作
- 17. Bootstrap无法正常工作
- 18. PIDinRootline无法正常工作
- 19. PushNotification无法正常工作
- 20. wcstok()无法正常工作?
- 21. mapView:didSelectAnnotationView:无法正常工作。
- 22. killBackgroundProcesses无法正常工作
- 23. Bootstrap无法正常工作
- 24. uibarbuttonitem无法正常工作
- 25. MessageFormat无法正常工作
- 26. json_decode无法正常工作
- 27. mediaplayer无法正常工作
- 28. Viewpager无法正常工作
- 29. TransactionTimeout无法正常工作
- 30. Gradle无法正常工作
您是否尝试清除缓存? – TheCottonSilk 2011-01-23 12:37:46