【问题标题】:code errors copying from a book从书中复制的代码错误
【发布时间】:2011-01-03 03:54:33
【问题描述】:

代码来自“Hello Android”第47页。

我正在使用 1.6,因为这就是本书的目的。

import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;


    /** Called when the activity is first created. */

e1  @Override
e2  public void onCreate(Bundle savedInstanceState){

    super.onCreate(savedInstanceState),
    setContentView(R.layout.main),
    // Set up click listeners for all the buttons

错误信息 e1

注释@override 不允许用于此位置

错误信息 e2

此行有多个标记 - 标记的语法错误,错误的构造 - 标记“void”的语法错误,@预期 - 标记 ")" 的语法错误,= 预期

我不知道出了什么问题。代码与书中的代码相同。我确定。 TIA

【问题讨论】:

  • 您可以编辑问题以更好地格式化代码吗?
  • 我注意到一件事:你的代码行末尾有逗号,而不是分号;
  • 是的,从本书的网站下载代码示例比全部输入要快得多(而且不那么令人沮丧)! :)
  • Eclipse 要求,而不是;所以我改变了它们。
  • Eclipse 只告诉您将它们更改为逗号,因为前面的代码使用了不正确的语法(如我的回答中所述)。因此 Eclipse 无法弄清楚您要做什么。

标签: java android code-generation


【解决方案1】:

Hello Android's Official Website 下载代码以获得可靠的工作版本。您也可以查看勘误表。

【讨论】:

    【解决方案2】:

    首先,您确定这本书是为 Java 1.6 编写的吗?我很确定 Android 是为 1.5 兼容性而设计的。

    无论如何,这两个错误的原因似乎是您将onCreate 方法放在了类主体之外。

    import 语句和第一条注释之间,应该有一个类声明,如:

    public class MyActivity extends Activity
    

    【讨论】:

    • 此外,您计划扩展的类(比如这里的Activity)必须有一个名为onCreate 的方法,并且要覆盖相同的签名。
    • 书的封面上写着 1.5 和 1.6。公共课没有帮助。无论如何,谢谢。
    • 我可能正在考虑构建 Android 平台本身,它(曾经?)只有 1.5。无论如何,仅复制和粘贴我上面写的内容并不能修复代码。在类的开头和结尾等处需要大括号。在开始使用 Android 之前查看一些 Java 教程可能会有所帮助。
    • 这本书并不清楚该声明的放置位置。我下载了代码。但我只在我无法弄清楚发生了什么时才使用它。我想学习 Droid Java。谢谢。我重新加载了 SDK。现在可以了。谢谢大家。
    猜你喜欢
    • 1970-01-01
    • 2016-01-20
    • 2012-07-31
    • 1970-01-01
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多