【问题标题】:Why won't @override work?为什么@override 不起作用?
【发布时间】:2010-01-08 20:50:12
【问题描述】:

一段代码有什么问题?

@Override
protected void onCreate(Bundle savedInstanceState) {

Eclipse 声明 @override 不能在它所在的位置。 它说“捆绑”是错误的。我迷路了。

【问题讨论】:

  • 我想你说的是Java。我不确定,但是当您的代码只有这一部分时,我们无法为您提供帮助...
  • 那里需要更多上下文,伙计。你的超类有void onCreate(Bundle)吗? Bundle 是导入的吗?该行之前和之后有哪些行? 确切的错误信息是什么?
  • 我猜它是安卓的,所以重新标记它。
  • @override 应该在方法签名的上方行。
  • @titaniumdecoy:这只是一个约定,与解析器无关。

标签: android eclipse code-generation overriding annotations


【解决方案1】:

应该是

 @Override public void onCreate(Bundle savedInstanceState){

 }

onCreate 是公开的,不受保护。

【讨论】:

【解决方案2】:

所以问题可能出在编译器合规级别: 1.5 而不是 1.6 ?

@Baleisen 为您的项目设置了哪个级别?

【讨论】:

    【解决方案3】:

    我对android框架了解不多,但是:

    首先确保您的类扩展一个类,例如 (Activity),其中包含 onCreate。然后尝试调用 super.onCreate,仔细检查您正在扩展的类是否包含 onCreate! 你可能指向另一个同名的类。你的编译器说没有什么可以覆盖的,如果你确定它是错误的,那么你的编译器已经出问题了过时的或框架。

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                //yourCode
        }
    

    另外,如果你的扩展类和扩展类,请确保,我发布的这个方法是在扩展类的类中。它可能会因此而大吃一惊。

    【讨论】:

      【解决方案4】:

      你的课程扩展了什么?您正在编译哪个 android SDK 版本?

      【讨论】:

        【解决方案5】:

        我以前也遇到过这种情况,问题是 Android SDK 没有完全加载到 Eclipse 中。

        另外,你的文件中有这个导入吗?父onCreate方法在Activity中。

        import android.app.Activity;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-03-16
          • 1970-01-01
          • 2014-03-20
          • 2015-06-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多