android - getActionBar 无法使用 AppCompat 库

标签 android intellij-idea material-design android-appcompat android-actionbar-compat

我正在尝试使用 Intellij IdeaAppCompat v7 库 创建一个 TabLayout android 应用程序。

import android.support.v7.app.ActionBar;

public class MainActivity extends FragmentActivity implements TabListener { 
...
private ActionBar actionBar;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
actionBar = getActionBar(); //Error line
...

}

在使用 getActionBar() 时出现此错误:

Incompatibale types:

Required: android.support.v7.app.ActionBar

Found: android.app.ActionBar

我的 Activity 中没有import android.app.ActionBar;。 我试过:

actionBar = android.support.v7.app.ActionBar.getActionBar();

actionBar = getSupportActionBar();

但是我明白了

Can't resolve method getActionBar() //Or getSupportActionBar()

如何通过 appCompat 库使用 getActionBar()(或者可能有一个我不知道的替代方案?)

编辑

我还在这一行中用 ActionBarActivity 替换了 FragmentActivity:

 public class MainActivity extends FragmentActivity //ActionBarActivity

但是没有运气

最佳答案

错误的方法

调用旧的import android.support.v7.app.ActionBar;

如果您要扩展 AppCompatActivity/FragmentActivity,那么您就是在为较旧的 Android 版本提供向后支持,为此您应该使用 getSupportActionBar()

阅读 getSupportActionBar using FragmentActivity

public class MainActivity extends AppCompatActivity {
  // ...

  ....

 ActionBar actionBar =getSupportActionBar();
}

添加这个。

dependencies {
   // … 
   compile 'com.android.support:appcompat-v7:23.1.0'
}

检查 Activity, AppCompatActivity, FragmentActivity, and ActionBarActivity: When to Use Which?

AppCompatActivity is from the appcompat-v7 library. Principally, this offers a backport of the action bar. Since the native action bar was added in API Level 11, you do not need AppCompatActivity for that.

为您的 Information How do I add a library (android-support-v7-appcompat) in IntelliJ IDEA

关于android - getActionBar 无法使用 AppCompat 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35054234/

相关文章:

javascript - 在 "material-components-web"代码中使用 "react-boilerplate"

android - 5.1崩溃-TaskDescription的原色应该是不透明的

android - 如何通过样式将自定义字体样式/系列应用于整个应用程序中的警报对话框

android - 需要帮助修复 Android Studio 中的工具栏问题

android - 在Android中绘图时如何设置线条的宽度?

java - Intellij 中无法识别“Javac”错误

java - Spring/Java org.springframework.beans.factory.CannotLoadBeanClassException : Cannot find class [C:\launchCodeFiles\src\main\java\RunMario. java]

Android WebView 下面有一排按钮

java - IntelliJ IDEA 14 : How to skip tests while deploying project into Tomcat

jquery - 在 Carousel materializecss 中停止循环