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)
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…