Java 无法以编程方式更改webview高度

Java 无法以编程方式更改webview高度,java,android,Java,Android,我在主布局上设置了webview,但无法通过编程方式调整其大小。Webview位于“主”布局中。 如果对他的contentainer“layoutA”执行相同的操作,虽然有效,但不是一个解决方案,我只需要设置webview。多谢各位 protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layo

我在主布局上设置了webview,但无法通过编程方式调整其大小。Webview位于“主”布局中。 如果对他的contentainer“layoutA”执行相同的操作,虽然有效,但不是一个解决方案,我只需要设置webview。多谢各位

protected void onCreate(Bundle savedInstanceState){
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);

            final RelativeLayout LayoutA = (RelativeLayout)findViewById(R.id.aLayout);
            webviewA = (WebView) findViewById(R.id.webviewA);           

            Handler handler = new Handler();
            final Runnable r = new Runnable()
            {
                public void run() 
                {
                     LayoutParams params = (LayoutParams) webviewA.getLayoutParams();

                      params.height -= 150;

                }
            };

            handler.postDelayed(r, 1000);
logcat

07-06 11:23:21.204: E/AndroidRuntime(13795): FATAL EXCEPTION: main
07-06 11:23:21.204: E/AndroidRuntime(13795): java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams
07-06 11:23:21.204: E/AndroidRuntime(13795):    at com.xxxx.projecte1.webPush$1.run(webPush.java:109)
07-06 11:23:21.204: E/AndroidRuntime(13795):    at android.os.Handler.handleCallback(Handler.java:587)
07-06 11:23:21.204: E/AndroidRuntime(13795):    at android.os.Handler.dispatchMessage(Handler.java:92)
07-06 11:23:21.204: E/AndroidRuntime(13795):    at android.os.Looper.loop(Looper.java:138)
07-06 11:23:21.204: E/AndroidRuntime(13795):    at android.app.ActivityThread.main(ActivityThread.java:3701)
07-06 11:23:21.204: E/AndroidRuntime(13795):    at java.lang.reflect.Method.invokeNative(Native Method)
07-06 11:23:21.204: E/AndroidRuntime(13795):    at java.lang.reflect.Method.invoke(Method.java:507)
07-06 11:23:21.204: E/AndroidRuntime(13795):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
07-06 11:23:21.204: E/AndroidRuntime(13795):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
07-06 11:23:21.204: E/AndroidRuntime(13795):    at dalvik.system.NativeStart.main(Native Method)
在WebView上调用invalidate()。 见(图纸部分)


欢迎Flo

您已经在活动类中导入了RelativeLayout.LayoutParams

试着用它来做

public void run() 
{
     ViewGroup.LayoutParams params = (ViewGroup.LayoutParams) webviewA.getLayoutParams();
     params.height -= 150;    
}

问题在于导入的软件包plz检查您案例的软件包,如果不存在,则应添加该软件包,而不是其他软件包,如导入android.widget.RelativeLayout等

 import android.view.ViewGroup.LayoutParams;