Android 无原因地对类进行膨胀时出错
我有一个xml文件,该文件假设显示15个图像按钮,但在xml文件中的图像按钮数为5或更低之前,它工作正常,但对于更多的图像按钮,此错误会引发: java.lang.RuntimeException:无法启动活动组件信息{com.example.ararat/com.example.arararat.setwallper}:android.view.InflateException:二进制XML文件行#35:膨胀类时出错 我的xml文件:Android 无原因地对类进行膨胀时出错,android,xml,eclipse,imagebutton,Android,Xml,Eclipse,Imagebutton,我有一个xml文件,该文件假设显示15个图像按钮,但在xml文件中的图像按钮数为5或更低之前,它工作正常,但对于更多的图像按钮,此错误会引发: java.lang.RuntimeException:无法启动活动组件信息{com.example.ararat/com.example.arararat.setwallper}:android.view.InflateException:二进制XML文件行#35:膨胀类时出错 我的xml文件: <ScrollView androi
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<ImageButton android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/wall_img_1"
android:src="@drawable/wall1"
android:layout_marginBottom="5dp"/>
<ImageButton android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/wall_img_2"
android:src="@drawable/wall2"
android:layout_marginBottom="5dp"/>
<ImageButton android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/wall_img_3"
android:src="@drawable/wall3"
android:layout_marginBottom="5dp"/>
<ImageButton android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/wall_img_4"
android:layout_marginBottom="5dp"
android:src="@drawable/wall4"/>
<ImageButton android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/wall_img_5"
android:src="@drawable/wall5"
android:layout_marginBottom="5dp"/>
</LinearLayout>
</ScrollView>
注:但当我们添加更多(超过5个)具有相同图像的图像按钮时(前5个图像按钮中的图像,如“@drawable/wall5”)效果良好。
我尝试了相对布局和其他方法,但这个错误没有消失,我真的很困惑。错误日志:
10-31 03:02:38.741: E/AndroidRuntime(1957): FATAL EXCEPTION: main
10-31 03:02:38.741: E/AndroidRuntime(1957): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ararat/com.example.ararat.Setwallpaper}: android.view.InflateException: Binary XML file line #36: Error inflating class <unknown>
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1955)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.app.ActivityThread.access$600(ActivityThread.java:122)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.os.Handler.dispatchMessage(Handler.java:99)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.os.Looper.loop(Looper.java:137)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.app.ActivityThread.main(ActivityThread.java:4340)
10-31 03:02:38.741: E/AndroidRuntime(1957): at java.lang.reflect.Method.invokeNative(Native Method)
10-31 03:02:38.741: E/AndroidRuntime(1957): at java.lang.reflect.Method.invoke(Method.java:511)
10-31 03:02:38.741: E/AndroidRuntime(1957): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
10-31 03:02:38.741: E/AndroidRuntime(1957): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
10-31 03:02:38.741: E/AndroidRuntime(1957): at dalvik.system.NativeStart.main(Native Method)
10-31 03:02:38.741: E/AndroidRuntime(1957): Caused by: android.view.InflateException: Binary XML file line #36: Error inflating class <unknown>
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.view.LayoutInflater.createView(LayoutInflater.java:606)
10-31 03:02:38.741: E/AndroidRuntime(1957): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:653)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:678)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.view.LayoutInflater.rInflate(LayoutInflater.java:739)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.view.LayoutInflater.rInflate(LayoutInflater.java:742)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
10-31 03:02:38.741: E/AndroidRuntime(1957): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:251)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.app.Activity.setContentView(Activity.java:1835)
10-31 03:02:38.741: E/AndroidRuntime(1957): at com.example.ararat.Setwallpaper.onCreate(Setwallpaper.java:23)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.app.Activity.performCreate(Activity.java:4465)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919)
10-31 03:02:38.741: E/AndroidRuntime(1957): ... 11 more
10-31 03:02:38.741: E/AndroidRuntime(1957): Caused by: java.lang.reflect.InvocationTargetException
10-31 03:02:38.741: E/AndroidRuntime(1957): at java.lang.reflect.Constructor.constructNative(Native Method)
10-31 03:02:38.741: E/AndroidRuntime(1957): at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.view.LayoutInflater.createView(LayoutInflater.java:586)
10-31 03:02:38.741: E/AndroidRuntime(1957): ... 25 more
10-31 03:02:38.741: E/AndroidRuntime(1957): Caused by: java.lang.OutOfMemoryError
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:483)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:351)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:773)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.content.res.Resources.loadDrawable(Resources.java:1937)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.widget.ImageView.<init>(ImageView.java:119)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.widget.ImageButton.<init>(ImageButton.java:85)
10-31 03:02:38.741: E/AndroidRuntime(1957): at android.widget.ImageButton.<init>(ImageButton.java:81)
10-31 03:02:38.741: E/AndroidRuntime(1957): ... 28 more
10-3103:02:38.741:E/AndroidRuntime(1957):致命异常:main
10-31 03:02:38.741:E/AndroidRuntime(1957):java.lang.RuntimeException:无法启动活动组件信息{com.example.arararat/com.example.arararat.setwallper}:android.view.InflateException:二进制XML文件行#36:膨胀类时出错
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1955)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.app.ActivityThread.access$600(ActivityThread.java:122)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.os.Handler.dispatchMessage(Handler.java:99)上
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.os.Looper.loop(Looper.java:137)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.app.ActivityThread.main(ActivityThread.java:4340)上
10-31 03:02:38.741:E/AndroidRuntime(1957):位于java.lang.reflect.Method.Invokenactive(本机方法)
10-31 03:02:38.741:E/AndroidRuntime(1957):位于java.lang.reflect.Method.invoke(Method.java:511)
10-31 03:02:38.741:E/AndroidRuntime(1957):位于com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
10-31 03:02:38.741:E/AndroidRuntime(1957):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
10-31 03:02:38.741:E/AndroidRuntime(1957):在dalvik.system.NativeStart.main(本机方法)
10-31 03:02:38.741:E/AndroidRuntime(1957):由以下原因引起:android.view.InflateException:二进制XML文件行#36:膨胀类时出错
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.view.LayoutInflater.createView(LayoutInflater.java:606)上
10-31 03:02:38.741:E/AndroidRuntime(1957):位于com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.view.LayoutInflater.onCreateView(LayoutInflater.java:653)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:678)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.view.LayoutInflater.rInflate(LayoutInflater.java:739)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.view.LayoutInflater.rInflate(LayoutInflater.java:742)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.view.LayoutInflater.inflate(LayoutInflater.java:489)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.view.LayoutInflater.inflate(LayoutInflater.java:396)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.view.LayoutInflater.inflate(LayoutInflater.java:352)
10-31 03:02:38.741:E/AndroidRuntime(1957):位于com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:251)
10-31 03:02:38.741:E/AndroidRuntime(1957):位于android.app.Activity.setContentView(Activity.java:1835)
10-31 03:02:38.741:E/AndroidRuntime(1957):位于com.example.arararat.setwallper.onCreate(setwallper.java:23)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.app.Activity.performCreate(Activity.java:4465)上
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919)
10-31 03:02:38.741:E/AndroidRuntime(1957):。。。还有11个
10-31 03:02:38.741:E/AndroidRuntime(1957):由以下原因引起:java.lang.reflect.InvocationTargetException
10-31 03:02:38.741:E/AndroidRuntime(1957):位于java.lang.reflect.Constructor.constructNative(本机方法)
10-31 03:02:38.741:E/AndroidRuntime(1957):位于java.lang.reflect.Constructor.newInstance(Constructor.java:417)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.view.LayoutInflater.createView(LayoutInflater.java:586)
10-31 03:02:38.741:E/AndroidRuntime(1957):。。。25多
10-31 03:02:38.741:E/AndroidRuntime(1957):由以下原因引起:java.lang.OutOfMemoryError
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.graphics.BitmapFactory.NativeDeacSet(本机方法)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:483)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:351)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.graphics.drawable.drawable.createFromResourceStream(drawable.java:773)
10-31 03:02:38.741:E/AndroidRuntime(1957):位于android.content.res.Resources.loadDrawable(Resources.java:1937)
10-31 03:02:38.741:E/AndroidRuntime(1957):位于android.content.res.TypedArray.getDrawable(TypedArray.java:601)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.widget.ImageView。(ImageView.java:119)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.widget.ImageButton.(ImageButton.java:85)
10-31 03:02:38.741:E/AndroidRuntime(1957):在android.widget.ImageButton.(ImageButton.java:81)
10-31 03:02:38
android:largeHeap="true"
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true" >