在操作系统版本4.4

时间:2018-04-18 10:26:48

标签: android inflate-exception

我的应用程序在Android版本5.0和应用程序中工作正常,但在4.4我得到错误。

这是错误

04-18 18:10:50.575 19764-19764/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.administrator.mosbeau, PID: 19764
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.administrator.mosbeau/com.example.administrator.mosbeau.MainActivity}: android.view.InflateException: Binary XML file line #43: Error inflating class android.support.v7.widget.ActionBarContextView

我使用导航抽屉

这是我的activity_main.xml

<!-- A DrawerLayout is intended to be used as the top-level content view using match_parent for both width and height to consume the full space available. -->
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:id="@+id/drawer_layout"
    android:layout_width="match_parent" android:layout_height="match_parent"
    tools:context=".MainActivity">

    <!-- As the main content view, the view below consumes the entire
         space available using match_parent in both dimensions. -->
    <FrameLayout android:id="@+id/container" android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <!-- android:layout_gravity="start" tells DrawerLayout to treat
         this as a sliding drawer on the left side for left-to-right
         languages and on the right side for right-to-left languages.
         If you're not building against API 17 or higher, use
         android:layout_gravity="left" instead. -->
    <!-- The drawer is given a fixed width in dp and extends the full height of
         the container. -->
    <fragment android:id="@+id/navigation_drawer"
    android:layout_width="@dimen/navigation_drawer_width" android:layout_height="match_parent"
    android:layout_gravity="start"
    android:name="com.example.administrator.mosbeau.NavigationDrawerFragment"
    tools:layout="@layout/fragment_navigation_drawer" />



</android.support.v4.widget.DrawerLayout>

错误出现在我的代码中。

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

任何人都可以帮我修复此错误。

感谢

1 个答案:

答案 0 :(得分:0)

我发现question与此非常相似。它已被很多人解决了 人们用不同的方式,所以我猜没有办法解决这个问题。

我已经对许多解决方案进行了分类,你可以检查的一些事情是:

  1. NavigationDrawerFragment延长import android.support.v4.app.Fragment;
  2. 您的Android Manifest<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  3. 如果使用actionBar活动,请检查其导入:
  4. 而不是:

    import android.app.Activity;
    import android.app.ActionBar;
    

    使用此:

    import android.support.v7.app.ActionBar;
    import android.support.v7.app.ActionBarActivity;
    
    1. 检查build.gradle:

      compile 'com.android.support:appcompat-v7:23.1.1'
       compile 'com.android.support:design:23.1.1'

    2. 还有其他方法,请在该帖子中查看答案。