How to set setLayoutParams()
for LinearLayout
elements. in MainActivity.java
. I wrote the following code for set Layout params and nullPointerException
shown at the line no 50 and I paste Logcat file at last.
layoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, 50); imageview1.setLayoutParams(layoutParams); // line no 50 layoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, 50); textview1.setLayoutParams(layoutParams); layoutParams = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT); listview01.setLayoutParams(layoutParams);
This is my xml file
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:stackFromBottom="true" > <ImageView android:id="@+id/imageview1" android:layout_width="wrap_content" android:layout_height="50px" android:background="@drawable/applicationbar" android:layout_x="0px" android:layout_y="0px" > </ImageView> <TextView android:id="@+id/textview1" android:layout_width="wrap_content" android:layout_height="50px" android:text="TextView" android:layout_x="0px" android:layout_y="55px" > </TextView> <ListView android:id="@+id/ListView01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="10px" android:layout_marginRight="10px" android:layout_marginTop="35px" android:layout_marginBottom="40px" android:paddingLeft="0px" android:paddingRight="0px" /> </LinearLayout>
Log cat:
04-19 16:47:22.221: ERROR/AndroidRuntime(3437): Uncaught handler: thread main exiting due to uncaught exception 04-19 16:47:22.221: ERROR/AndroidRuntime(3437): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android/com.android.Listview}: java.lang.NullPointerException 04-19 16:47:22.221: ERROR/AndroidRuntime(3437): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496) 04-19 16:47:22.221: ERROR/AndroidRuntime(3437): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512) 04-19 16:47:22.221: ERROR/AndroidRuntime(3437): at android.app.ActivityThread.access$2200(ActivityThread.java:119) 04-19 16:47:22.221: ERROR/AndroidRuntime(3437): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863) 04-19 16:47:22.221: ERROR/AndroidRuntime(3437): at android.os.Handler.dispatchMessage(Handler.java:99) 04-19 16:47:22.221: ERROR/AndroidRuntime(3437): at android.os.Looper.loop(Looper.java:123) 04-19 16:47:22.221: ERROR/AndroidRuntime(3437): at android.app.ActivityThread.main(ActivityThread.java:4363) 04-19 16:47:22.221: ERROR/AndroidRuntime(3437): at java.lang.reflect.Method.invokeNative(Native Method) 04-19 16:47:22.221: ERROR/AndroidRuntime(3437): at java.lang.reflect.Method.invoke(Method.java:521) 04-19 16:47:22.221: ERROR/AndroidRuntime(3437): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 04-19 16:47:22.221: ERROR/AndroidRuntime(3437): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 04-19 16:47:22.221: ERROR/AndroidRuntime(3437): at dalvik.system.NativeStart.main(Native Method) 04-19 16:47:22.221: ERROR/AndroidRuntime(3437): Caused by: java.lang.NullPointerException 04-19 16:47:22.221: ERROR/AndroidRuntime(3437): at com.android.Listview.onCreate(Listview.java:40) 04-19 16:47:22.221: ERROR/AndroidRuntime(3437): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 04-19 16:47:22.221: ERROR/AndroidRuntime(3437): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
To control how linear layout aligns all the views it contains, set a value for android:gravity . For example, the snippet above sets android:gravity to "center". The value you set affects both horizontal and vertical alignment of all child views within the single row or column.
Weight defines how much space a view will consume compared to other views within a LinearLayout. Weight is used when you want to give specific screen space to one component compared to other.
In Android, LinearLayout is a common layout that arranges “component” in vertical or horizontal order, via orientation attribute. In additional, the highest “ weight ” component will fill up the remaining space in LinearLayout .
imageview1.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, 50)); textview1.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, 50)); listview01.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With