Android Fragment无法充气android.view.InflateException:二进制XML文件行#53:错误导致类<unknown>

时间:2016-03-14 03:42:54

标签: java android android-layout android-fragments

我在NavigationView上重复选择项目时出现此错误

03-13 22:58:08.699 16867-16867/com.ictc.tst E/ActivityThread: Failed to inflate
android.view.InflateException: Binary XML file line #53: Error inflating class <unknown>
  at android.view.LayoutInflater.createView(LayoutInflater.java:620)
  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
  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 android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276)
  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
  at com.ictc.tst.MainActivity.onCreate(MainActivity.java:39)
  at android.app.Activity.performCreate(Activity.java:5231)
  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2265)
  at android.app.ActivityThread.access$800(ActivityThread.java:145)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1206)
  at android.os.Handler.dispatchMessage(Handler.java:102)
  at android.os.Looper.loop(Looper.java:136)
  at android.app.ActivityThread.main(ActivityThread.java:5081)
  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:781)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
  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 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) 
  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 android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276) 
  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
  at com.ictc.tst.MainActivity.onCreate(MainActivity.java:39) 
  at android.app.Activity.performCreate(Activity.java:5231) 
  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169) 
  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2265) 
  at android.app.ActivityThread.access$800(ActivityThread.java:145) 
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1206) 
  at android.os.Handler.dispatchMessage(Handler.java:102) 
  at android.os.Looper.loop(Looper.java:136) 
  at android.app.ActivityThread.main(ActivityThread.java:5081) 
  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:781) 
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
  at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.OutOfMemoryError
  at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
  at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:587)
  at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:422)
  at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:840)
  at android.content.res.Resources.loadDrawable(Resources.java:2137)
  at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
  at android.view.View.<init>(View.java:3561)
  at android.widget.ImageView.<init>(ImageView.java:123)
  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.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:972)
  at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:1031)
  at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:684)
  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.support.design.internal.NavigationMenuPresenter.inflateHeaderView(NavigationMenuPresenter.java:189)
  at android.support.design.widget.NavigationView.inflateHeaderView(NavigationView.java:258)
  at android.support.design.widget.NavigationView.<init>(NavigationView.java:173)
  at android.support.design.widget.NavigationView.<init>(NavigationView.java:95)
  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 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) 
  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 android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276) 
  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
  at com.ictc.tst.MainActivity.onCreate(MainActivity.java:39) 
  at android.app.Activity.performCreate(Activity.java:5231) 
  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169) 
  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2265) 
  at android.app.ActivityThread.access$800(ActivityThread.java:145) 
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1206) 
  at android.os.Handler.dispatchMessage(Handler.java:102) 
  at android.os.Looper.loop(Looper.java:136) 
  at android.app.ActivityThread.main(ActivityThread.java:5081) 
  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:781) 
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
  at dalvik.system.NativeStart.main(Native Method) 

这是我用来测试的片段

public class HomeFragment extends Fragment {

    public HomeFragment(){
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.home, container, false);
        return view;
    }

    //La vista de layout ha sido creada y ya está disponible
    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
    }

    //La vista ha sido creada y cualquier configuración guardada está cargada
    @Override
    public void onViewStateRestored(Bundle savedInstanceState) {
        super.onViewStateRestored(savedInstanceState);
    }

    //El Activity que contiene el Fragment ha terminado su creación
    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
    }

}

3 个答案:

答案 0 :(得分:1)

错误很明显

Caused by: java.lang.OutOfMemoryError

您的模拟器内存​​不足。更新AVD Manager中可用的内存。

答案 1 :(得分:0)

  

XML文件行#53:

问题出在XML文件第53行。 检查您的XML并尝试发布您的XML,以便我们可以给出确切的错误

答案 2 :(得分:0)

我的Activity_main xml
@RakshitNawani @RageshRamesh

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/coordinator"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

   <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways"/>

        <android.support.design.widget.TabLayout
            android:id="@+id/tablayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?attr/colorPrimary"
            app:tabGravity="fill"/>

    </android.support.design.widget.AppBarLayout>

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_gravity="bottom|right"
        android:layout_marginBottom="@dimen/activity_vertical_margin"
        android:layout_marginRight="@dimen/activity_horizontal_margin"
        android:src="@drawable/ic_done"/>

</android.support.design.widget.CoordinatorLayout>

<android.support.design.widget.NavigationView
    android:id="@+id/navigation_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    app:headerLayout="@layout/drawer_header"
    app:menu="@menu/drawer"/>