我试图以语法的方式设置布局宽度,这是我的XML布局文件。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/startTime_EndtimeLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/HeadingTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="TextView" />
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/HeadingTextView"
android:layout_above="@+id/dialogButtonOK"
android:scrollbars="vertical" >
<RelativeLayout
android:id="@+id/startTime_EndtimeLayoutWithScroll"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TableLayout
android:id="@+id/startTime_EndtimeTableLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</TableLayout>
</RelativeLayout>
</ScrollView>
<Button
android:id="@+id/dialogButtonOK"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text=" close " />
</RelativeLayout>
我要设置相对布局宽度,即滚动视图的子视图。我尝试过的方式,
1.
RelativeLayout rl = (RelativeLayout)findViewById(R.id.startTime_EndtimeLayoutWithScroll);
rl.setLayoutParams(new
LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
2.
RelativeLayout rl = (RelativeLayout)scrollView.findViewById(R.id.startTime_EndtimeLayoutWithScroll);
rl.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
在这两种情况下,我都得到了这个错误,
10-11 17:36:31.526: E/dalvikvm(1555): [DVM] mmap return base = 4586a000
10-11 17:36:32.824: E/dalvikvm(1555): [DVM] mmap return base = 459e1000
10-11 17:36:32.966: E/AndroidRuntime(1555): FATAL EXCEPTION: main
10-11 17:36:32.966: E/AndroidRuntime(1555): java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams
10-11 17:36:32.966: E/AndroidRuntime(1555): at android.widget.FrameLayout.onLayout(FrameLayout.java:324)
10-11 17:36:32.966: E/AndroidRuntime(1555): at android.widget.ScrollView.onLayout(ScrollView.java:1331)
10-11 17:36:32.966: E/AndroidRuntime(1555): at android.view.View.layout(View.java:7225)
10-11 17:36:32.966: E/AndroidRuntime(1555): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:943)
10-11 17:36:32.966: E/AndroidRuntime(1555): at android.view.View.layout(View.java:7225)
10-11 17:36:32.966: E/AndroidRuntime(1555): at android.widget.FrameLayout.onLayout(FrameLayout.java:369)
10-11 17:36:32.966: E/AndroidRuntime(1555): at android.view.View.layout(View.java:7225)
10-11 17:36:32.966: E/AndroidRuntime(1555): at android.widget.FrameLayout.onLayout(FrameLayout.java:369)
10-11 17:36:32.966: E/AndroidRuntime(1555): at android.view.View.layout(View.java:7225)
10-11 17:36:32.966: E/AndroidRuntime(1555): at android.view.ViewRoot.performTraversals(ViewRoot.java:1181)
10-11 17:36:32.966: E/AndroidRuntime(1555): at android.view.ViewRoot.handleMessage(ViewRoot.java:1913)
10-11 17:36:32.966: E/AndroidRuntime(1555): at android.os.Handler.dispatchMessage(Handler.java:130)
10-11 17:36:32.966: E/AndroidRuntime(1555): at android.os.Looper.loop(SourceFile:351)
10-11 17:36:32.966: E/AndroidRuntime(1555): at android.app.ActivityThread.main(ActivityThread.java:3820)
10-11 17:36:32.966: E/AndroidRuntime(1555): at java.lang.reflect.Method.invokeNative(Native Method)
10-11 17:36:32.966: E/AndroidRuntime(1555): at java.lang.reflect.Method.invoke(Method.java:538)
10-11 17:36:32.966: E/AndroidRuntime(1555): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:969)
10-11 17:36:32.966: E/AndroidRuntime(1555): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:727)
10-11 17:36:32.966: E/AndroidRuntime(1555): at dalvik.system.NativeStart.main(Native Method)
任何解决问题的想法。谢谢
发布于 2013-10-10 10:09:14
我解决了这个问题,我需要把ScrollView而不是相对的布局。
因为我想设置的相对布局;是XML中滚动视图的子元素。
ScrollView.LayoutParams params = new ScrollView.LayoutParams(width,LayoutParams.WRAP_CONTENT);
rl.setLayoutParams(params);
发布于 2013-10-10 08:27:28
如何膨胀XML文件?
为什么从XML中设置布局与您要寻找的内容不相对应?
发布于 2013-10-10 10:02:38
您是否可能对"LayoutParameters“有错误的导入?我认为有许多不同的进口,您可以使用"LayoutParameters“。但我不确定:D.这只是因为我不久前也有过类似的情况。
https://stackoverflow.com/questions/19290474
复制相似问题