Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java WebView.getContentHeight()始终返回0_Java_Android - Fatal编程技术网

Java WebView.getContentHeight()始终返回0

Java WebView.getContentHeight()始终返回0,java,android,Java,Android,我试图在名为webDescription的WebView中显示HTML字符串。因为这个HTML有时会很长,所以我想将WebView的高度限制在最大尺寸,并允许内容在视图中滚动 我使用以下代码等待页面完成加载,检查内容高度,并将封闭(父)TableRow的高度设置为最大150 webDescription.setWebViewClient(new WebViewClient() { public void onPageFinished(WebView view, Stri

我试图在名为webDescription的WebView中显示HTML字符串。因为这个HTML有时会很长,所以我想将WebView的高度限制在最大尺寸,并允许内容在视图中滚动

我使用以下代码等待页面完成加载,检查内容高度,并将封闭(父)TableRow的高度设置为最大150

    webDescription.setWebViewClient(new WebViewClient() {

        public void onPageFinished(WebView view, String url) {
            // do your stuff here
            Log.i("EVENTDETAIL", "Web view has finished loading");
            Log.i("EVENTDETAIL", "Description content height: " + view.getContentHeight());
            if ( view.getContentHeight() > 150 ) {
                LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, 150);
                view.setLayoutParams(params);
            }
        }

    });
但是,view.getContentHeight()始终返回0;因此,父TableRow的LayoutParams永远不会更改

有人能对此提供一些见解,以及我如何解决我的问题吗?非常感谢您的考虑。

使用以下代码:

 if(view.getHeight()>150) 
 {
      LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, 150);
      view.setLayoutParams(params);
 }

我的意思是使用
getHeight()
而不是
getContentHeight()

我会将WebView设置为与父视图匹配,并在TableRow上设置maxHeight