선형 레이아웃을 삽입 할 때 '응용 프로그램이 예기치 않게 중지되었습니다'오류가 발생합니다.

수닐

저는 안드로이드 초보자이며 최근에 배우기 시작했습니다.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/black"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.bugaman.android.inspireme.MainActivity$PlaceholderFragment" >

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitCenter"
        android:src="@drawable/inspire" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:src="@drawable/finalshake" />

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/imageView1"
        android:layout_centerHorizontal="true"
        android:text="Inspire Me!"
        android:textSize="24sp"
        android:typeface="serif" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:shadowColor="#000000"
        android:shadowDx="0.0"
        android:shadowDy="0.0"
        android:shadowRadius="2.0"
        android:textColor="#FFFFFF"
        android:textSize="22sp"
        android:typeface="serif" />

</RelativeLayout>

이 코드를 실행하면 모든 것이 정상이지만 선형 레이아웃을 삽입하면 다음 코드에 대한 오류가 발생합니다.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/black"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.bugaman.android.inspireme.MainActivity$PlaceholderFragment" >

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitCenter"
        android:src="@drawable/inspire" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:orientation="vertical"
        android:weightSum="1" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="0.77"
            android:shadowColor="#000000"
            android:shadowDx="0.0"
            android:shadowDy="0.0"
            android:shadowRadius="2.0"
            android:textColor="#FFFFFF"
            android:textSize="22sp"
            android:typeface="serif" />

        <Button
            android:id="@+id/button1"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="0.115"
            android:text="Inspire Me!"
            android:textSize="24sp"
            android:typeface="serif" />

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="0.115"
            android:src="@drawable/finalshake" />

    </LinearLayout>

</RelativeLayout>

여기서 내가 한 일은 Insert LinearLayout (vertical) ... 채우기 높이 ... 가로 가운데 ... textview1, button1 및 imageview1을 LinearLayout으로 드래그했습니다 ... 선형 레이아웃의 가중치 합을 1로 변경했습니다 ... textview1의 가중치 0.77로 ... button1의 무게를 0.115로 ... imageview1의 무게를 0.115로 ... textview1, button1, imageview1의 레이아웃 높이를 0dp로 변경했습니다 ... 이제 실행하면 'The application blah 어쩌다가 갑자기 멈췄어요 .'...

아무도 내가 뭘 잘못하고 있는지 알고 있습니까?

Logcat 메시지-

06-19 12:55:34.409: D/AndroidRuntime(7999): Shutting down VM
06-19 12:55:34.419: W/dalvikvm(7999): threadid=1: thread exiting with uncaught exception (group=0x401b9648)
06-19 12:55:34.429: E/AndroidRuntime(7999): FATAL EXCEPTION: main
06-19 12:55:34.429: E/AndroidRuntime(7999): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bugaman.android.inspireme/com.bugaman.android.inspireme.MainActivity}: java.lang.ClassCastException: android.widget.ImageView
06-19 12:55:34.429: E/AndroidRuntime(7999):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1872)
06-19 12:55:34.429: E/AndroidRuntime(7999):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1893)
06-19 12:55:34.429: E/AndroidRuntime(7999):     at android.app.ActivityThread.access$1500(ActivityThread.java:135)
06-19 12:55:34.429: E/AndroidRuntime(7999):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054)
06-19 12:55:34.429: E/AndroidRuntime(7999):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-19 12:55:34.429: E/AndroidRuntime(7999):     at android.os.Looper.loop(Looper.java:150)
06-19 12:55:34.429: E/AndroidRuntime(7999):     at android.app.ActivityThread.main(ActivityThread.java:4389)
06-19 12:55:34.429: E/AndroidRuntime(7999):     at java.lang.reflect.Method.invokeNative(Native Method)
06-19 12:55:34.429: E/AndroidRuntime(7999):     at java.lang.reflect.Method.invoke(Method.java:507)
06-19 12:55:34.429: E/AndroidRuntime(7999):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
06-19 12:55:34.429: E/AndroidRuntime(7999):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
06-19 12:55:34.429: E/AndroidRuntime(7999):     at dalvik.system.NativeStart.main(Native Method)
06-19 12:55:34.429: E/AndroidRuntime(7999): Caused by: java.lang.ClassCastException: android.widget.ImageView
06-19 12:55:34.429: E/AndroidRuntime(7999):     at com.bugaman.android.inspireme.MainActivity.onCreate(MainActivity.java:24)
06-19 12:55:34.429: E/AndroidRuntime(7999):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072)
06-19 12:55:34.429: E/AndroidRuntime(7999):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1836)
06-19 12:55:34.429: E/AndroidRuntime(7999):     ... 11 more
06-19 13:03:33.717: D/AndroidRuntime(9096): Shutting down VM
06-19 13:03:33.717: W/dalvikvm(9096): threadid=1: thread exiting with uncaught exception (group=0x401b9648)
06-19 13:03:33.727: E/AndroidRuntime(9096): FATAL EXCEPTION: main
06-19 13:03:33.727: E/AndroidRuntime(9096): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bugaman.android.inspireme/com.bugaman.android.inspireme.MainActivity}: java.lang.ClassCastException: android.widget.ImageView
06-19 13:03:33.727: E/AndroidRuntime(9096):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1872)
06-19 13:03:33.727: E/AndroidRuntime(9096):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1893)
06-19 13:03:33.727: E/AndroidRuntime(9096):     at android.app.ActivityThread.access$1500(ActivityThread.java:135)
06-19 13:03:33.727: E/AndroidRuntime(9096):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054)
06-19 13:03:33.727: E/AndroidRuntime(9096):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-19 13:03:33.727: E/AndroidRuntime(9096):     at android.os.Looper.loop(Looper.java:150)
06-19 13:03:33.727: E/AndroidRuntime(9096):     at android.app.ActivityThread.main(ActivityThread.java:4389)
06-19 13:03:33.727: E/AndroidRuntime(9096):     at java.lang.reflect.Method.invokeNative(Native Method)
06-19 13:03:33.727: E/AndroidRuntime(9096):     at java.lang.reflect.Method.invoke(Method.java:507)
06-19 13:03:33.727: E/AndroidRuntime(9096):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
06-19 13:03:33.727: E/AndroidRuntime(9096):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
06-19 13:03:33.727: E/AndroidRuntime(9096):     at dalvik.system.NativeStart.main(Native Method)
06-19 13:03:33.727: E/AndroidRuntime(9096): Caused by: java.lang.ClassCastException: android.widget.ImageView
06-19 13:03:33.727: E/AndroidRuntime(9096):     at com.bugaman.android.inspireme.MainActivity.onCreate(MainActivity.java:24)
06-19 13:03:33.727: E/AndroidRuntime(9096):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072)
06-19 13:03:33.727: E/AndroidRuntime(9096):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1836)
06-19 13:03:33.727: E/AndroidRuntime(9096):     ... 11 more
06-19 13:08:33.820: D/Process(9096): killProcess, pid=9096
웨이브

앱을 정리하고 다시 빌드하십시오.

때때로 리소스 XML 파일을 편집하고 @+id식별자가있는 요소를 재정렬, 추가 또는 삭제할 때 생성 R.java된 바이너리 XML 리소스 파일과 컴파일 된 바이너리 XML 리소스 파일 간에 ID 번호가 엉망이됩니다 . 로 뷰를 요청할 때 findViewById()ID는 다른 뷰와 일치하며 결과를 다른 유형으로 캐스팅하려고하면 ClassCastException.

이는 ADT를 사용하는 Android 개발자가 배워야 할 것입니다. 빌드 종속성 시스템은 실제로 신뢰할 수 없으며 리소스 관련 항목이 제대로 작동하지 않는 경우 먼저 정리하고 다시 빌드하여 문제가 해결되는지 확인해야합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관