Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:必需的Android.support.v7.app.ActionBar已找到Android.app.ActionBar_Android_Android Actionbar - Fatal编程技术网

Android:必需的Android.support.v7.app.ActionBar已找到Android.app.ActionBar

Android:必需的Android.support.v7.app.ActionBar已找到Android.app.ActionBar,android,android-actionbar,Android,Android Actionbar,我正在尝试使用getActionBar()方法,我收到此错误:必需的android.support.v7.app.ActionBar找到了android.app.ActionBar。如何更正此问题?如果支持低于11的API级别,则必须在项目中添加support v4库以使用actionbar import android.support.v7.app.ActionBar 如果仅支持API 11级及更高级别: import android.app.ActionBar 有关更多信息,请转到确保清

我正在尝试使用getActionBar()方法,我收到此错误:必需的android.support.v7.app.ActionBar找到了android.app.ActionBar。如何更正此问题?

如果支持低于11的API级别,则必须在项目中添加support v4库以使用actionbar

import android.support.v7.app.ActionBar
如果仅支持API 11级及更高级别:

import android.app.ActionBar

有关更多信息,请转到

确保清单文件中的最低api级别高于11。因为只有在低于11级的api中才支持包
android.support.v7.app.ActionBar


因此,如果您想从导入android.app.ActionBar中使用ActionBar,那么您的清单文件中必须有minimun api级别11。否则,您必须在项目中添加support v4库,以使用android.support.v7.app.actionbar软件包中的actionbar。

发生此错误是因为您正在创建对象并将其传递给其他类引用变量。因为
getActionManager
提供了
android.app.ActionBar
的对象,但您正试图将
android.app.ActionBar
类对象分配给
android.support.v7.app.ActionBar

但这两个类提供相同的功能<代码>android.support.v7.app.ActionBar类在我们使用的sdk最小版本低于api 11时使用。要获得api 11下面的ActionBar对象,我们需要
android.support.v7.app.ActionBar
class对象

要获得动作栏,您需要遵循以下两种方法之一

  • 导入android.support.v7.app.ActionBar
    并使用
    getSupportActionBar()
    方法od活动

  • 转到AndroidManifest.xml文件并更改
    导入android.app.ActionBar并使用
    getActionBar()


  • 如果运行api 11及更高版本

    import android.app.ActionBar;
    

    另外,如果它声明它已经存在,请确保将其删除

    确保您的应用程序具有应用程序栏或标题栏,请在清单文件或您的style.xml中检查您的应用程序主题 如果你的风格是这样的:

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- your style -->
    </style>
    
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- your style-->
    </style>
    
    当使用
    ActionBar ActionBar=getSupportActionBar()时,它将抛出null异常


    请确保您使用导入android.support.v7.app.ActionBar

    它不是一个重复项,这在中已经提到。虽然此代码片段可以解决问题,但确实有助于提高您文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。