【问题标题】:I extended AppCompatActivity and onCreate showing Red underline我扩展了 AppCompatActivity 和 onCreate 显示红色下划线
【发布时间】:2015-08-13 20:14:26
【问题描述】:

使用 Android Studio 1.3 预览版

我已经实现 AppCompatActivity 一切正常,但 onCreate 显示下划线,然后在鼠标悬停后显示错误

覆盖方法应该调用 super.onCreate();

虽然有超话。

为什么会显示红色下划线?

【问题讨论】:

  • 您正确导入了 android.support.v7.app.AppCompatActivity 吗?您是否尝试过清除/使缓存无效并重建?
  • 是的,我试过了。但它仍然显示相同的红色下划线

标签: android android-activity android-studio


【解决方案1】:

更新:此问题已在 Android Studio 1.3 preview 2 中修复


这是 Android Studio 1.3 预览版的一个已知问题。它通过 Lint 检查报告误报。

您可以在此处阅读报告的问题:

https://code.google.com/p/android/issues/detail?id=174964

您可以在发布通道 (1.2) 中降级到最新的 Android Studio,或者建议的修复方法是:

您可以暂时取消“棉绒检查”。

在 Android Studio 1.3 中:Android Studio>设置>检查>Android Lint>缺少超级调用

【讨论】:

    【解决方案2】:

    此问题已在 Android Studio 1.3 preview 2 中修复,该版本已发布到金丝雀频道

    Issue 174964

    【讨论】:

      【解决方案3】:

      我刚刚在 Android Studio 2.3.2 稳定版中遇到了同样的问题。

      我的情况是在一个类中扩展了另一个我编写的扩展 AppCompatActivity 的类。实际上,我将 savedInstanceState 和布局都传递到了第一个 super.onCreate 中,并且按预期调用了它的 super.onCreate。

      奇怪的是,在大约 20 个具有这种模式的类中,只有一个出现 lint 错误。

      这是我的课程的实现方式:

      public class MyActivity extends BaseNavActivity {
      ...
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState, R.layout.activity_locations);
              // stuff
          }
      }
      

      abstract class BaseNavActivity extends AppCompatActivity {
      ...
          protected void onCreate(Bundle savedInstanceState, int resLayout) {
              // need to set the theme first
              setTheme(R.style.AppTheme2);
      
              // then call super before setting the content view
              super.onCreate(savedInstanceState);
      
              setContentView(resLayout);
      
              // stuff
           }
      }
      

      我通过进入(在 Mac OS X 上)Android Studio > Preferences > Editor > Inspections 并将“Missing Super Call”规则更改为警告,解决了这个问题。

      (希望这只是一个 lint 错误,而不是我做错了什么,很快就会得到修复,我可以将该警告改回错误,因为它通常是一个有用的检查。)

      【讨论】:

        猜你喜欢
        • 2021-10-27
        • 1970-01-01
        • 2011-03-15
        • 1970-01-01
        • 2020-07-29
        • 1970-01-01
        • 2013-08-22
        • 1970-01-01
        • 2011-09-19
        相关资源
        最近更新 更多