android.view.InflateException:二进制XML文件行#8:错误膨胀类android.widget.ImageView

问题描述:

我在我的android项目的xml文件中出现错误。android.view.InflateException:二进制XML文件行#8:错误膨胀类android.widget.ImageView

android.view.InflateException: Binary XML file line #8: Error inflating class android.widget.ImageView

我看过this solution but can't understand/ it doesn't in my project. xml文件有问题吗?或者我需要处理活动文件?

我在添加自定义导航抽屉时出现错误。

以下是错误

09-14 04:23:53.841 22880-22880/? E/AndroidRuntime: in writeCrashedAppName, pkgName :info.androidhive.navigationdrawer 
09-14 04:23:53.851 22880-22880/? E/AndroidRuntime: FATAL EXCEPTION: main 
Process: info.androidhive.navigationdrawer, PID: 22880 
java.lang.RuntimeException: Unable to start activity ComponentInfo{info.androidhive.navigationdrawer/info.androidhive.navigationdrawer.activity.SplashScreen}: android.view.InflateException: Binary XML file line #8: Error inflating class android.widget.ImageView 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
at android.app.ActivityThread.access$800(ActivityThread.java:135) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:136) 
at android.app.ActivityThread.main(ActivityThread.java:5021) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:515) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class android.widget.ImageView 
at android.view.LayoutInflater.createView(LayoutInflater.java:620) 
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290) 
at android.app.Activity.setContentView(Activity.java:1978) 
at info.androidhive.navigationdrawer.activity.SplashScreen.onCreate(SplashScreen.java:14) 
at android.app.Activity.performCreate(Activity.java:5426) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)  
at android.app.ActivityThread.access$800(ActivityThread.java:135)  
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)  
at android.os.Handler.dispatchMessage(Handler.java:102)  
at android.os.Looper.loop(Looper.java:136)  
at android.app.ActivityThread.main(ActivityThread.java:5021)  
at java.lang.reflect.Method.invokeNative(Native Method)  
at java.lang.reflect.Method.invoke(Method.java:515)  
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827)  
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)  
at dalvik.system.NativeStart.main(Native Method)  
Caused by: java.lang.reflect.InvocationTargetException 
at java.lang.reflect.Constructor.constructNative(Native Method) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
at android.view.LayoutInflater.createView(LayoutInflater.java:594) 
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)  
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669)  
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)  
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)  
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)  
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)  
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)  
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)  
at android.app.Activity.setContentView(Activity.java:1978)  
at info.androidhive.navigationdrawer.activity.SplashScreen.onCreate(SplashScreen.java:14)  
at android.app.Activity.performCreate(Activity.java:5426)  
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090)  
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)  
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)  

这里是我的活动文件:

public class SplashScreen extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_splash_screen); 
     Thread myThread = new Thread(){ 
      @Override 
      public void run() { 
       try { 
        sleep(3000); 
        Intent intent = new Intent(getApplicationContext(),LoginActivity.class); 
        startActivity(intent); 
        finish(); 

       } catch (InterruptedException e) { 
        e.printStackTrace(); 
       } 
      } 
     }; 

     myThread.start(); 
    } 
} 

这里是闪屏的我的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:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="info.androidhive.navigationdrawer.activity.SplashScreen"> 

    <ImageView 
     android:id="@+id/pic_logo" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/ist_logo" 
     android:layout_marginTop="50dp" 
     android:layout_centerHorizontal="true"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="IST LIBRARY" 
     android:textSize="30dp" 
     android:layout_marginTop="200dp" 
     android:layout_marginLeft="100dp" 
     android:textStyle="bold" 
     android:textColor="#000000"/> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Android Application" 
     android:textSize="20dp" 
     android:textColor="#000000" 
     android:layout_marginTop="350dp" 
     android:layout_marginLeft="100dp"/> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="of" 
     android:textSize="20dp" 
     android:textColor="#000000" 
     android:layout_marginTop="370dp" 
     android:layout_marginLeft="170dp" 
     /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Library Management of IST" 
     android:textSize="20dp" 
     android:textColor="#000000" 
     android:layout_marginTop="390dp" 
     android:layout_marginLeft="65dp"/> 

</RelativeLayout> 
+0

你肯定没有在堆栈跟踪仅此而已,下面你已经发布了什么? – CommonsWare

+0

还有一些其他问题。但为了简单起见,我发布了 –

堆栈跟踪可能会产生误导。你的drawable可能有问题。尝试不同的@drawable,看看它是否有效。

+0

谢谢。该问题已解决,但现在在下一个活动中出现此错误: 二进制XML文件行#2:错误膨胀类android.support.design.widget.CoordinatorLayout –

android:src="@drawable/ist_logo 
在这一行

改变你使用的图片,并使用另一个较小的图片PNG格式