【问题标题】:Should I replace ActionBarActivity with AppCompatActivity?我应该用 AppCompatActivity 替换 ActionBarActivity 吗?
【发布时间】:2015-05-26 23:30:53
【问题描述】:

我正在学习 Android 课程,在 Support Android 2.1 and Above 部分下,据说我的 Activity 应该扩展 ActionBarActivity 类以支持 API-7 及更高版本的操作栏。

但是,documentation 也表示该类已被弃用,我应该改用 AppCompatActivity。我在这里很困惑,我应该使用哪一个,为什么?

【问题讨论】:

标签: android android-actionbar android-support-library


【解决方案1】:

是的。你应该使用AppCompatActivity

AppCompatActivity 是一个非常新的课程,android 网站上的培训部分已经过时了。

您对ActionBarActivity 所做的所有操作都将在AppCompatActivity 上工作。

对于差异,请阅读有关它的帖子http://android-developers.blogspot.de/2015/04/android-support-library-221.html

【讨论】:

  • 谢谢。当您使用它时,我如何检查哪个版本的库是最新的?添加compile 'com.android.support:appcompat-v7:22.1.+' 行时我有这个疑问。文档说 20.something.something.
  • 目前我没有任何地方可以查看最新消息。我通常做的是写compile 'com.android.support:appcompat-v7:+,然后等待Gradle警告告诉我哪个是最新的,然后改成它。
  • @NotGabriel 当您在 Studio 中打开 Gradle 脚本时,它将使用 Lint 检查来告诉您(至少)哪些版本的 Google 库已过时。这可以在 Settings→Editor→Inspections 进行配置(严重性级别)和取消/激活,并在“Android Lint”下查看“Obsolete Gradle Dependency”。然后它将突出显示具有较新版本的库的所有行。此外,对于其他库,您可以在 Gradle 等网站查看库名称,请:gradleplease.appspot.com
  • @DavidCesarino 这很有趣,谢谢你的链接,它一定会派上用场的。
【解决方案2】:

我的理解是你需要使用AppCompatActivity。如果现在不推荐使用其他支持库或类,这意味着 Android 人员将不再维护或改进该代码。不过,我从来没有真正使用过这两个类。

我想您可能会使用一些难看的 if 语句来检查最终用户的 API 级别,并在此基础上进行不同的方法调用。不过,这听起来像是很多额外的工作。

【讨论】:

    猜你喜欢
    • 2015-12-30
    • 1970-01-01
    • 2015-06-06
    • 1970-01-01
    • 2015-09-26
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多