java - android.view.InflateException : Binary XML file line #22: Error inflating class ImageView

标签 java android xml

当我在 API 级别 21 以下(Lollipop)上测试应用程序时,我遇到了此错误的问题 我在谷歌上搜索但找不到适合我的解决方案。

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"

    tools:context=".LoginActivity">
    <ScrollView android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#f0b501">
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="#f0b501"
            android:gravity="center"
            android:orientation="vertical"
            android:padding="@dimen/activity_horizontal_margin">


            <ImageView
                android:layout_width="@dimen/logo_w_h"
                android:layout_height="@dimen/logo_w_h"
                android:layout_gravity="center_horizontal"
                android:layout_marginBottom="3dp"
                android:src="@drawable/logo3"></ImageView>

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <EditText
                    android:id="@+id/email"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="10dp"
                    android:hint="@string/hint_email"
                    android:inputType="textEmailAddress"
                    android:textColor="@android:color/white"
                    android:textColorHint="@android:color/white" />
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <EditText
                    android:id="@+id/password"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="10dp"
                    android:hint="@string/hint_password"
                    android:inputType="textPassword"
                    android:textColor="@android:color/white"
                    android:textColorHint="@android:color/white" />
            </android.support.design.widget.TextInputLayout>

            <!-- Login Button -->

            <Button
                android:id="@+id/btn_login"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dip"
                android:background="#353535"
                android:text="@string/btn_login"
                android:textColor="#f0b501" />

            <Button
                android:id="@+id/btn_reset_password"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dip"
                android:background="@null"
                android:text="@string/btn_forgot_password"
                android:textAllCaps="false"
                android:textColor="#353535" />

            <!-- Link to Login Screen -->

            <Button
                android:id="@+id/btn_signup"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dip"
                android:background="@null"
                android:text="@string/btn_link_to_register"
                android:textAllCaps="false"
                android:textColor="#353535"
                android:textSize="15dp" />
        </LinearLayout>
    </ScrollView>

    <ProgressBar
        android:id="@+id/progressBar"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_gravity="center|bottom"
        android:layout_marginBottom="20dp"
        android:visibility="gone" />
</android.support.design.widget.CoordinatorLayout>

我将如何处理 ImageView .. 在dimens&dimens(w820dp)文件夹中图像尺寸为130dp 最小SdkVersion是16 如果删除图像,则没有图像..应用程序不会崩溃

LOGCAT(错误):

01-17 20:20:03.700 2600-2600/customer.aclass.customer E/InstantRun: Could not find slices in APK; aborting. 01-17 20:20:03.730 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.os.UserManager', referenced from method com.google.android.gms.common.zze.zzbw 01-17 20:20:03.950 2600-2614/customer.aclass.customer E/dalvikvm: Could not find class 'android.app.AppOpsManager', referenced from method com.google.android.gms.internal.zzrt.zzg 01-17 20:20:03.990 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.util.ArrayMap', referenced from method com.android.tools.fd.runtime.MonkeyPatcher.monkeyPatchExistingResources 01-17 20:20:03.990 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.util.ArrayMap', referenced from method com.android.tools.fd.runtime.MonkeyPatcher.pruneResourceCache 01-17 20:20:04.020 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method customer.aclass.customer.LoginActivity.access$super 01-17 20:20:04.030 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.os.UserHandle', referenced from method customer.aclass.customer.LoginActivity.access$super 01-17 20:20:04.030 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method customer.aclass.customer.LoginActivity.access$super 01-17 20:20:04.030 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.media.session.MediaController', referenced from method customer.aclass.customer.LoginActivity.access$super 01-17 20:20:04.030 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.widget.Toolbar', referenced from method customer.aclass.customer.LoginActivity.access$super 01-17 20:20:04.040 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.app.ActivityManager$TaskDescription', referenced from method customer.aclass.customer.LoginActivity.access$super 01-17 20:20:04.040 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.os.UserHandle', referenced from method customer.aclass.customer.LoginActivity.access$super 01-17 20:20:04.040 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.os.UserHandle', referenced from method customer.aclass.customer.LoginActivity.access$super 01-17 20:20:04.040 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.app.SharedElementCallback', referenced from method customer.aclass.customer.LoginActivity.access$super 01-17 20:20:04.040 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method customer.aclass.customer.LoginActivity.access$super 01-17 20:20:04.040 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.transition.TransitionManager', referenced from method customer.aclass.customer.LoginActivity.access$super 01-17 20:20:04.050 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.app.SharedElementCallback', referenced from method customer.aclass.customer.LoginActivity.access$super 01-17 20:20:04.060 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.os.UserHandle', referenced from method customer.aclass.customer.LoginActivity.access$super 01-17 20:20:04.060 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.os.UserHandle', referenced from method customer.aclass.customer.LoginActivity.access$super 01-17 20:20:04.080 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.app.assist.AssistContent', referenced from method customer.aclass.customer.LoginActivity.access$super 01-17 20:20:04.080 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.view.SearchEvent', referenced from method customer.aclass.customer.LoginActivity.access$super 01-17 20:20:04.090 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.os.UserHandle', referenced from method customer.aclass.customer.LoginActivity.access$super 01-17 20:20:04.090 2600-2600/customer.aclass.customer E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method customer.aclass.customer.LoginActivity.access$super 01-17 20:20:04.350 2600-2600/customer.aclass.customer E/AndroidRuntime: FATAL EXCEPTION: main
                                                                        java.lang.RuntimeException: Unable to start activity ComponentInfo{customer.aclass.customer/customer.aclass.customer.LoginActivity}: android.view.InflateException: Binary XML file line #22: Error inflating class ImageView
                                                                            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2118)
                                                                            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2143)
                                                                            at android.app.ActivityThread.access$700(ActivityThread.java:140)
                                                                            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
                                                                            at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                            at android.os.Looper.loop(Looper.java:174)
                                                                            at android.app.ActivityThread.main(ActivityThread.java:4952)
                                                                            at java.lang.reflect.Method.invokeNative(Native Method)
                                                                            at java.lang.reflect.Method.invoke(Method.java:511)
                                                                            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
                                                                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
                                                                            at dalvik.system.NativeStart.main(Native Method)
                                                                         **Caused by: android.view.InflateException: Binary XML file line #22: Error inflating class ImageView**
                                                                            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:710)
                                                                            at android.view.LayoutInflater.rInflate(LayoutInflater.java:752)
                                                                            at android.view.LayoutInflater.rInflate(LayoutInflater.java:760)
                                                                            at android.view.LayoutInflater.rInflate(LayoutInflater.java:760)
                                                                            at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
                                                                            at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
                                                                            at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
                                                                            at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:284)
                                                                            at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
                                                                            at customer.aclass.customer.LoginActivity.onCreate(LoginActivity.java:40)
                                                                            at android.app.Activity.performCreate(Activity.java:5188)
                                                                            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
                                                                            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2082)
                                                                            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2143) 
                                                                            at android.app.ActivityThread.access$700(ActivityThread.java:140) 
                                                                            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237) 
                                                                            at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                                            at android.os.Looper.loop(Looper.java:174) 
                                                                            at android.app.ActivityThread.main(ActivityThread.java:4952) 
                                                                            at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                            at java.lang.reflect.Method.invoke(Method.java:511) 
                                                                            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027) 
                                                                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794) 
                                                                            at dalvik.system.NativeStart.main(Native Method) 
                                                                         Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f020089 a=-1 r=0x7f020089}
                                                                            at android.content.res.Resources.loadDrawable(Resources.java:2784)
                                                                            at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
                                                                            at android.widget.ImageView.<init>(ImageView.java:126)
                                                                            at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:57)
                                                                            at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:53)
                                                                            at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106)
                                                                            at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1013)
                                                                            at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1072)
                                                                            at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
                                                                            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:681)
                                                                            at android.view.LayoutInflater.rInflate(LayoutInflater.java:752) 
                                                                            at android.view.LayoutInflater.rInflate(LayoutInflater.java:760) 
                                                                            at android.view.LayoutInflater.rInflate(LayoutInflater.java:760) 
                                                                            at android.view.LayoutInflater.inflate(LayoutInflater.java:495) 
                                                                            at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
                                                                            at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
                                                                            at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:284) 
                                                                            at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
                                                                            at customer.aclass.customer.LoginActivity.onCreate(LoginActivity.java:40) 
                                                                            at android.app.Activity.performCreate(Activity.java:5188) 
                                                                            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094) 
                                                                            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2082) 
                                                                            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2143) 
                                                                            at android.app.ActivityThread.access$700(ActivityThread.java:140) 
                                                                            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237) 
                                                                            at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                                            at android.os.Looper.loop(Looper.java:174) 
                                                                            at android.app.ActivityThread.main(ActivityThread.java:4952) 
                                                                            at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                            at java.lang.reflect.Method.invoke(Method.java:511) 
                                                                            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027) 
                                                                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794) 
                                                                            at dalvik.system.NativeStart.main(Native Method)

最佳答案

这是因为您将 Logo 3 放入了 DrawbleV21 中,但是当您在 <21v 应用程序上运行时,尝试在简单的 Drawble 文件夹中查找 Logo 3。

....

 android:src="@drawable/logo3">
....

将您的 logo3.png 复制到我的简单的drawble文件夹目录中

F:\androidProject\myAppLication3\app\src\main\res\drawable

关于java - android.view.InflateException : Binary XML file line #22: Error inflating class ImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41700986/

相关文章:

java - 在android中重复代码

java - Whitespace Surround Android 相机预览

java - 如何删除重复的 XML 声明

javascript - 无法在普通 javascript 中从 xml 加载数据

java - java中双射函数的实现

java - 根据 Spring MVC 中服务的结果验证单个字段

java - 如何使用 JUnit 和 Ant 运行测试?在同一个 JVM 中还是不同的 JVM 中?

java - 如何在Android中计算文件的大小

android - 如何判断两个电话号码是否相同?

java - 如何在 Kotlin 中使用回调?