【问题标题】:error in inflating class膨胀类错误
【发布时间】:2015-10-27 04:35:47
【问题描述】:

我有问题,但我不知道是什么问题。 我总是写这段代码,它可以正常工作,但这次它不起作用。

错误:

10-27 07:40:52.769: E/AndroidRuntime(1572): FATAL EXCEPTION: main 10-27 07:40:52.769: E/AndroidRuntime(1572): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.Book4000eew1/com.Book4000eew1.Lessons}:
                                                    android.view.InflateException: Binary XML file line #2: Error inflating class <unknown>
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.app.ActivityThread.access$600(ActivityThread.java:123)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.os.Handler.dispatchMessage(Handler.java:99)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.os.Looper.loop(Looper.java:137)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.app.ActivityThread.main(ActivityThread.java:4424)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at java.lang.reflect.Method.invokeNative(Native Method)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at java.lang.reflect.Method.invoke(Method.java:511)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at dalvik.system.NativeStart.main(Native Method)
    10-27 07:40:52.769: E/AndroidRuntime(1572): Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class <unknown>
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.view.LayoutInflater.createView(LayoutInflater.java:606)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.view.LayoutInflater.onCreateView(LayoutInflater.java:653)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:678)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:251)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.app.Activity.setContentView(Activity.java:1835)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at com.Book4000eew1.Lessons.onCreate(Lessons.java:13)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.app.Activity.performCreate(Activity.java:4465)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     ... 11 more
    10-27 07:40:52.769: E/AndroidRuntime(1572): Caused by: java.lang.reflect.InvocationTargetException
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at java.lang.reflect.Constructor.constructNative(Native Method)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.view.LayoutInflater.createView(LayoutInflater.java:586)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     ... 23 more
    10-27 07:40:52.769: E/AndroidRuntime(1572): Caused by: java.lang.OutOfMemoryError
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:483)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:351)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:773)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.content.res.Resources.loadDrawable(Resources.java:1935)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.view.View.<init>(View.java:2785)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.view.ViewGroup.<init>(ViewGroup.java:385)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.widget.LinearLayout.<init>(LinearLayout.java:174)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     at android.widget.LinearLayout.<init>(LinearLayout.java:170)
    10-27 07:40:52.769: E/AndroidRuntime(1572):     ... 26 more

这是我的课程:

public class Lessons extends ListActivity{

    private Integer[] lessonspics={};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.lessons);   


    }


}

它的xml文件是:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/n9"
    android:orientation="vertical" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="15dp"
        android:background="@android:color/transparent"
        android:cacheColorHint="@android:color/transparent"
        android:divider="@null"
        android:dividerHeight="3dp"
        android:padding="5dp" >

    </ListView>

</LinearLayout>

有人知道我的问题吗??? 提前致谢。

【问题讨论】:

  • 当它尝试加载图像时,您会收到一个OutOfMemoryError。我猜你的@drawable/n9 太大了。
  • 如日志中的BitmapFactory.nativeDecodeAsset 方法n9 图像尺寸非常大,无法在当前可用内存中渲染。
  • 谢谢,问题是这样的。图片太大了。

标签: android android-inflate inflate-exception


【解决方案1】:

在列表视图中

不是这个:

android:id="@android:id/list"

这样做:

android:id="@+id/your ID"

【讨论】:

  • 应该是android:id="@+id/你的ID"
  • 那是一个打字错误,我猜你已经明白了:)
  • 没关系,但这是为了OP的理解,他可能会再次犯错:)
  • 我是第一次投赞成票的人。是的,应该提供投反对票的理由。
  • 请浏览日志。它说由 java.lang.OutOfMemoryError 引起的错误。这不是问题的正确答案。
【解决方案2】:

您是否已将其添加到您的 Android 清单文件中

<activity android:name=".Lessons" > </activity>

你似乎有空值列表应该在布局文件中定义一个列表视图并为其分配一个唯一的ID。

<ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="15dp"
        android:background="@android:color/transparent"
        android:cacheColorHint="@android:color/transparent"
        android:divider="@null"
        android:dividerHeight="3dp"
        android:padding="5dp" >

从一个Activity的onCreate方法中,找到对应id的Listview

ListView list = (ListView) findViewById(R.id.list);

如果仍然不起作用,请显示更多代码,然后尝试解决它。​​

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 2020-07-29
    • 2018-10-02
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多