【问题标题】:Binary XML Line#0 inflate exception?二进制 XML Line#0 膨胀异常?
【发布时间】:2017-12-11 09:37:13
【问题描述】:

每次我尝试运行我的应用程序时都会收到此错误,我不知道为什么我试图为我的应用程序制作一个基本的欢迎屏幕,然后将转换到我的主页,但目前欢迎屏幕没有加载并且当我运行项目时,应用程序只是说“无法运行应用程序”。我已尝试对项目进行干净的构建和重建,并针对其他人遇到的此错误进行其他修复,但仍然没有运气。

下面我发布了 logcat 在运行时给出的错误。

Error: FATAL EXCEPTION: main
                                                                                 Process: com.example.ross.moviepickerapp, PID: 21507
                                                                                 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ross.moviepickerapp/com.example.ross.moviepickerapp.MainActivity}: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class android.widget.RelativeLayout
                                                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3319)
                                                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
                                                                                     at android.app.ActivityThread.access$1100(ActivityThread.java:229)
                                                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
                                                                                     at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                     at android.os.Looper.loop(Looper.java:148)
                                                                                     at android.app.ActivityThread.main(ActivityThread.java:7331)
                                                                                     at java.lang.reflect.Method.invoke(Native Method)
                                                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
                                                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
                                                                                  Caused by: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class android.widget.RelativeLayout
                                                                                     at android.view.LayoutInflater.inflate(LayoutInflater.java:551)
                                                                                     at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
                                                                                     at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
                                                                                     at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
                                                                                     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
                                                                                     at com.example.ross.moviepickerapp.MainActivity.onCreate(MainActivity.java:13)
                                                                                     at android.app.Activity.performCreate(Activity.java:6904)
                                                                                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
                                                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266)
                                                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415) 
                                                                                     at android.app.ActivityThread.access$1100(ActivityThread.java:229) 
                                                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821) 
                                                                                     at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                     at android.os.Looper.loop(Looper.java:148) 
                                                                                     at android.app.ActivityThread.main(ActivityThread.java:7331) 
                                                                                     at java.lang.reflect.Method.invoke(Native Method) 
                                                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
                                                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
                                                                                  Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class android.widget.RelativeLayout
                                                                                     at android.view.LayoutInflater.createView(LayoutInflater.java:657)
                                                                                     at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
                                                                                     at android.view.LayoutInflater.onCreateView(LayoutInflater.java:706)
                                                                                     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:774)
                                                                                     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)
                                                                                     at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
                                                                                     at android.view.LayoutInflater.inflate(LayoutInflater.java:429) 
                                                                                     at android.view.LayoutInflater.inflate(LayoutInflater.java:380) 
                                                                                     at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
                                                                                     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
                                                                                     at com.example.ross.moviepickerapp.MainActivity.onCreate(MainActivity.java:13) 
                                                                                     at android.app.Activity.performCreate(Activity.java:6904) 
                                                                                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136) 
                                                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266) 
                                                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415) 
                                                                                     at android.app.ActivityThread.access$1100(ActivityThread.java:229) 
                                                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821) 
                                                                                     at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                     at android.os.Looper.loop(Looper.java:148) 
                                                                                     at android.app.ActivityThread.main(ActivityThread.java:7331) 
                                                                                     at java.lang.reflect.Method.invoke(Native Method) 
                                                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
                                                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
                                                                                  Caused by: java.lang.reflect.InvocationTargetException
                                                                                     at java.lang.reflect.Constructor.newInstance(Native Method)
                                                                                     at android.view.LayoutInflater.createView(LayoutInflater.java:631)
                                                                                     at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58) 
                                                                                     at android.view.LayoutInflater.onCreateView(LayoutInflater.java:706) 
                                                                                     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:774) 
                                                                                     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716) 
                                                                                     at android.view.LayoutInflater.inflate(LayoutInflater.java:498) 
                                                                                     at android.view.LayoutInflater.inflate(LayoutInflater.java:429) 
                                                                                     at android.view.LayoutInflater.inflate(LayoutInflater.java:380) 
                                                                                     at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
                                                                                     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
                                                                                     at com.example.ross.moviepickerapp.MainActivity.onCreate(MainActivity.java:13) 
                                                                                     at android.app.Activity.performCreate(Activity.java:6904) 
                                                                                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136) 
                                                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266) 
                                                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415) 
                                                                                     at android.app.ActivityThread.access$1100(ActivityThread.java:229) 
                                                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821) 
                                                                                     at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                     at android.os.Looper.loop(Looper.java:148) 
                                                                                     at android.app.ActivityThread.main(ActivityThread.java:7331) 
                                                                                     at java.lang.reflect.Method.invoke(Native Method) 
                                                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
                                                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
                                                                                  Caused by: android.content.res.Resources$NotFoundException: Resource "com.example.ross.moviepickerapp:drawable/welcomebackground" (7f060064) is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f060064 a=-1 r=0x7f060064}
                                                                                     at android.content.res.Resources.loadDrawableForCookie(Resources.java:4245)
                                                                                     at android.content.res.Resources.loadDrawable(Resources.java:4152)
                                                                                     at android.content.res.Resources.loadDrawable(Resources.java:4002)
                                                                                     at android.content.res.TypedArray.getDrawable(TypedArray.java:886)
                                                                                     at android.view.View.<init>(View.java:4249)
                                                                                     at android.view.ViewGroup.<init>(ViewGroup.java:591)
                                                                                     at android.widget.RelativeLayout.<init>(RelativeLayout.java:249)
                                                                                     at android.widget.RelativeLayout.<init>(RelativeLayout.java:245)
                                                                                     at android.widget.RelativeLayout.<init>(RelativeLayout.java:241)
                                                                                     at java.lang.reflect.Constructor.newInstance(Native Method) 
                                                                                     at android.view.LayoutInflater.createView(LayoutInflater.java:631) 
                                                                                     at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58) 
                                                                                     at android.view.LayoutInflater.onCreateView(LayoutInflater.java:706) 
                                                                                     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:774) 
                                                                                     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716) 
                                                                                     at android.view.LayoutInflater.inflate(LayoutInflater.java:498) 
                                                                                     at android.view.LayoutInflater.inflate(LayoutInflater.java:429) 
                                                                                     at android.view.LayoutInflater.inflate(LayoutInflater.java:380) 
                                                                                     at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
                                                                                     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
                                                                                     at com.example.ross.moviepickerapp.MainActivity.onCreate(MainActivity.java:13) 
                                                                                     at android.app.Activity.performCreate(Activity.java:6904) 
                                                                                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136) 
                                                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266) 
                                                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415) 
                                                                                     at android.app.ActivityThread.access$1100(ActivityThread.java:229) 
                                                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821) 
                                                                                     at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                     at android.os.Looper.loop(Looper.java:148) 
                                                                                     at android.app.ActivityThread.main(ActivityThread.java:7331) 
                                                                                     at java.lang.reflect.Method.invoke(Native Method) 
                                                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
                                                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 

这是我的 MainActivity 代码:

package com.example.ross.moviepickerapp;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.app.AppCompatDelegate;

public class MainActivity extends AppCompatActivity 

{

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
    setContentView(R.layout.welcome_screen);
}
}

这是我的 XMl 代码:

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/welcome_screen"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.ross.moviepickerapp.MainActivity"
    android:background="@drawable/welcomebackground">
    <LinearLayout
        android:layout_gravity="center"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        >
        <TextView
            android:layout_marginTop="150dp"
            android:layout_gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/welcome_to"
            android:textSize="40sp"
            android:textStyle="italic|bold"
            android:textColor="@color/colorPrimary"
            />
        <TextView
            android:layout_marginTop="50dp"
            android:layout_gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/movie_picker"
            android:textSize="30sp"
            android:textStyle="italic|bold"
            android:textColor="@color/colorPrimaryDark"
            />

        </LinearLayout>

</RelativeLayout>

有人可以帮我解决这个问题吗?

【问题讨论】:

  • 您也可以发布welcomebackground 文件吗?因为你的错误是Caused by: android.content.res.Resources$NotFoundException: Resource "com.example.ross.moviepickerapp:drawable/welcomebackground" is not a Drawable (color or path)
  • 什么是@drawable/welcomebackground
  • 检查drawable/welcomebackground 是否可绘制?
  • 抱歉修复它是一个 .jpg 图像,它位于我的可绘制 v24 文件夹中,但我将其更改为 .png 并将其放入修复它的可绘制文件夹中。

标签: android android-layout android-xml android-drawable


【解决方案1】:

你的线路可能有问题

android:background="@drawable/welcomebackground" 

在 xml 文件中。尝试注释此行并清理项目并运行。

使用 new > empty Activity 创建一个新的 android Activity,看看是如何工作的。

【讨论】:

    【解决方案2】:
    Caused by: android.content.res.Resources$NotFoundException: Resource "com.example.ross.moviepickerapp:drawable/welcomebackground" (7f060064) is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f060064 a=-1 r=0x7f060064}
    

    你需要检查这个文件。

    你可以通过Android Studio添加资源,进入app>res>drawable>"右键>新建>"Image Asset" or "Vector Asset"

    【讨论】:

      【解决方案3】:

      不知道是不是和compiledSdkVersion和targetSdkVersion的android库版本有关。以前我在使用时遇到错误:

      1. compileSdkVersion 26
      2. targetSdkVersion 26
      3. 'com.android.support:appcompat-v7:26.1.0'
      4. 'com.android.support:design:26.1.0'

      然后我更改为较新的版本并且它起作用了:

      1. 编译SdkVersion 27
      2. targetSdkVersion 27
      3. 'com.android.support:appcompat-v7:27.0.2'
      4. 'com.android.support:design:27.0.2'

      我希望这会有所帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多