Java在实现Android Activity时找不到符号

标签 java android android-activity

我正在编写我的第一个 Android 应用程序,但遇到了一些麻烦。考虑以下代码:

@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState{
    super.onCreate(savedInstanceState);
    TextView textView;
    textView = new TextView(this);
    textView.setTextSize(40);
    //textView.setText("TEST");
    setContentView(textView);
}

只要 setText 行保持注释状态,此代码就会编译。如果我取消注释,我会收到以下错误:无法找到符号:变量textView

我在这里做了明显错误的事情吗?我是 android 新手,自从我编写 java 以来已经很多年了(我写了很多 C 语言,我的直觉往往会让我误入歧途......)

编辑:

该函数是此处示例代码的简化: http://developer.android.com/training/basics/firstapp/starting-activity.html

这个例子有错吗?看起来我不应该在 list 中创建如此简单的 View ,这对我来说看起来像是一个 java 链接器错误?感谢您的回复,但我仍然无法理解出了什么问题。

最佳答案

一些你出错的地方:

-您应该在尝试引用任何 View 之前调用setContentView()

-setContentView() 获取包含布局的 XML 文件的名称

-您需要在 JAva 代码中使用 findViewById

来引用布局中的 TextView
@Override
protected void onCreate(Bundle savedInstanceState{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.name_of_your_xml_file_which_has_the_layout);
    TextView textView;
    textView = (TextView)findViewById(R.id.id_of_the_textView_as_given_in_your_layout.xml);
    textView.setTextSize(40);
    textView.setText("TEST");
}

编辑: 给出的代码here动态创建一个 TextView ,我的答案包含的方法使用静态布局,仅引用 java 代码中的 textView 。这是执行此操作的标准方法,因为一旦事情变得复杂,实现动态布局就变得非常困难。现在,事情看起来很简单,因为只有一个 TextView。但是,随着 UI 元素的增多,您只会带来更多麻烦(在我看来)。我建议您遵循静态布局方法,特别是因为您刚开始使用 Android。

关于Java在实现Android Activity时找不到符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15729354/

相关文章:

android - webview 在 lollipop android 中没有完全生成位图

android - 更改按钮上的背景图像单击android应用程序开发

java - 将 Camel 路线配置返回到 xml

java - 如何使用 Socket.IO-client Java 将 String 消息从 Android 发送到服务器?

android - 科尼 : Ant build error=exec-shell returned: 1

java - DateFormat Android - 正确吗?

android - Activity 在 fragment 内部开始时出现黑屏

android - 通知启动错误的 Activity

java - 如何将 Jetty 和 Jersey 嵌入到我的 Java 应用程序中

java - GitHub 上的 Java 代码覆盖率工具