Rangga Wiratno
Rangga Wiratno

Reputation: 179

Relative Layout's Widget Error

I am getting this weird error, it seems like every time I edit the position of the child views in my RelativeLayout by code I get a runtime error like FATAL EXCEPTION: MAIN, and a ClassCastException: ChildView's class.

At first it was my ImageView, so I tried moving it using the GUI in Eclipse, then it was my LinearLayout so I did the same, but then it juggles back to the ImageView, and so on.. I wonder what's wrong with my Layout? Here's my main.xml coding:

<TextView
    android:id="@+id/txtVersion"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:padding="10dp"
    android:text="version 1.0"
    android:textColor="#000000"
    android:textSize="15sp"
    android:textStyle="bold" />

<TextView
    android:id="@+id/txtLogo"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="@drawable/logo_background"
    android:gravity="center"
    android:padding="20dp"
    android:paddingBottom="5dp"
    android:paddingRight="20dp"
    android:paddingTop="5dp"
    android:text="Ngaji Yuk"
    android:textColor="#FFFFFF"
    android:textSize="25sp"
    android:textStyle="bold" />

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:gravity="center"
    android:orientation="vertical"
    android:paddingBottom="5dp"
    android:paddingRight="20dp"
    android:paddingTop="5dp" >

    <Button
        android:id="@+id/btnRead"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/button_background"
        android:gravity="center"
        android:padding="20dp"
        android:paddingBottom="5dp"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:paddingTop="5dp"
        android:text="Mulai Ngaji"
        android:textColor="#FFFFFF"
        android:textSize="20sp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/btnIndex"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/button_background"
        android:gravity="center"
        android:padding="20dp"
        android:paddingBottom="5dp"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:paddingTop="5dp"
        android:text="Indeks"
        android:textColor="#FFFFFF"
        android:textSize="20sp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/btnAbout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/button_background"
        android:gravity="center"
        android:padding="20dp"
        android:paddingBottom="5dp"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:paddingTop="5dp"
        android:text="Tentang Aplikasi"
        android:textColor="#FFFFFF"
        android:textSize="20sp"
        android:textStyle="bold" />

</LinearLayout>

<ImageView
    android:id="@+id/imgMamat"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:src="@drawable/ic_launcher" />

There is no coding in my MainActivity except assigning variable and that's only to the Buttons inside the LinearLayout.

Oh and do excuse me if it's a silly question, I'm a total beginner in Android, thank you.

edit: Here's my Logcat:

05-18 11:17:08.920: E/AndroidRuntime(516): FATAL EXCEPTION: main 05-18 11:17:08.920: E/AndroidRuntime(516): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.rangga.elearning.ngaji/com.rangga.elearning.ngaji.MainActivity}: java.lang.ClassCastException: android.widget.LinearLayout 05-18 11:17:08.920: E/AndroidRuntime(516): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 05-18 11:17:08.920: E/AndroidRuntime(516): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 05-18 11:17:08.920: E/AndroidRuntime(516): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 05-18 11:17:08.920: E/AndroidRuntime(516): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 05-18 11:17:08.920: E/AndroidRuntime(516): at android.os.Handler.dispatchMessage(Handler.java:99) 05-18 11:17:08.920: E/AndroidRuntime(516): at android.os.Looper.loop(Looper.java:123) 05-18 11:17:08.920: E/AndroidRuntime(516): at android.app.ActivityThread.main(ActivityThread.java:4627) 05-18 11:17:08.920: E/AndroidRuntime(516): at java.lang.reflect.Method.invokeNative(Native Method) 05-18 11:17:08.920: E/AndroidRuntime(516): at java.lang.reflect.Method.invoke(Method.java:521) 05-18 11:17:08.920: E/AndroidRuntime(516): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 05-18 11:17:08.920: E/AndroidRuntime(516): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 05-18 11:17:08.920: E/AndroidRuntime(516): at dalvik.system.NativeStart.main(Native Method) 05-18 11:17:08.920: E/AndroidRuntime(516): Caused by: java.lang.ClassCastException: android.widget.LinearLayout 05-18 11:17:08.920: E/AndroidRuntime(516): at com.rangga.elearning.ngaji.MainActivity.onCreate(MainActivity.java:35) 05-18 11:17:08.920: E/AndroidRuntime(516): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 05-18 11:17:08.920: E/AndroidRuntime(516): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 05-18 11:17:08.920: E/AndroidRuntime(516): ... 11 more

Cleaning the project seems to fixed it. It's kinda annoying when problems like this show up, even though all the codes shows no error >.<

Upvotes: 1

Views: 198

Answers (1)

ravan
ravan

Reputation: 46

try clean and build, it may be due to some previous refences of the xml views remain

Upvotes: 1

Related Questions