我有主要的“tabHost”布局,其框架内容设置在包含webview的另一个布局“内容”上。 “Tabbar”类设置tabhost布局,“second”类设置其帧内容。
问题是,从“Tabbar”类开始,我尝试使用以下代码在params上崩溃来设置webview高度,
WebView webviewA = (WebView) findViewById(R.id.webviewA);
LayoutParams params = (LayoutParams) webviewA.getLayoutParams();
params.height -= 300;
已经尝试从Tabbar调用webviewA的功能,
Tabbar类
second recalcula = new second();
recalcula.recalcula();
第二课
public void recalcula (){
webviewA = (WebView) findViewById(R.id.webviewA);
LayoutParams params = (LayoutParams) webviewA.getLayoutParams();
params.height -= 300;
webviewA.setLayoutParams(params);
}
也会在params上崩溃......我做错了什么?谢谢。
logcat错误
07-06 10:14:39.893: E/AndroidRuntime(11023): FATAL EXCEPTION: main
07-06 10:14:39.893: E/AndroidRuntime(11023): java.lang.NullPointerException
07-06 10:14:39.893: E/AndroidRuntime(11023): at com.xxxxx.projecte1.second.recalcula(second.java:70)
07-06 10:14:39.893: E/AndroidRuntime(11023): at com.xxxxx.projecte1.TabBar.onReceiveAd(TabBar_iOSActivity.java:493)
07-06 10:14:39.893: E/AndroidRuntime(11023): at com.google.ads.internal.d.B(SourceFile:1116)
07-06 10:14:39.893: E/AndroidRuntime(11023): at com.google.ads.internal.c$e.run(SourceFile:187)
07-06 10:14:39.893: E/AndroidRuntime(11023): at android.os.Handler.handleCallback(Handler.java:587)
07-06 10:14:39.893: E/AndroidRuntime(11023): at android.os.Handler.dispatchMessage(Handler.java:92)
07-06 10:14:39.893: E/AndroidRuntime(11023): at android.os.Looper.loop(Looper.java:138)
07-06 10:14:39.893: E/AndroidRuntime(11023): at android.app.ActivityThread.main(ActivityThread.java:3701)
07-06 10:14:39.893: E/AndroidRuntime(11023): at java.lang.reflect.Method.invokeNative(Native Method)
07-06 10:14:39.893: E/AndroidRuntime(11023): at java.lang.reflect.Method.invoke(Method.java:507)
07-06 10:14:39.893: E/AndroidRuntime(11023): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
07-06 10:14:39.893: E/AndroidRuntime(11023): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
07-06 10:14:39.893: E/AndroidRuntime(11023): at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:0)
如果从另一个类而不是活动调用LayoutParams,那么导入部分可能不是正确的。在这种情况下,何时更喜欢使用LinearLayout.LayoutParams,或设置或获取布局参数时LayoutParams的类型。
在您尝试
时的视图中setLayoutParams(new LinearLayout.LayoutParams(FILL_PARENT, FILL_PARENT));
并且实际的父布局参数是相对的然后它是一个问题。获得它们的情况相同。我不知道为什么但是在非活动类中,布局参数不会始终导入正确的。
答案 1 :(得分:0)