【发布时间】:2013-11-08 07:19:43
【问题描述】:
好的,我已经准备好制作一个非常简单的 Android 程序了。我决定从一些简单但也相对有用的东西开始。最终,我希望有一个存储和显示学习卡的应用程序。我觉得无法通过 TextView 是不祥之兆。我查看了几十个示例并研究了新用户使用 setText() 时遇到的常见问题,但无济于事。以下是相关的代码行:
来自我的 .java 文件:
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
TextView tv1 = (TextView) findViewById(R.id.TextView1);
tv1.setText("New text");
....等等
Eclipse 正在标记包含“setText”的行并给我以下语法错误:
token(s) 上的语法错误,错位的构造//强调 tv1 之后的句点
标记“新文本”的语法错误,删除此标记
【问题讨论】:
-
将此代码放入 oncreate 方法中。 TextView tv1 = (TextView) findViewById(R.id.TextView1); tv1.setText("新文本");
-
在
onCreate方法中写入TextView -
感谢大家的快速回复。实际上,我自己也得出了同样的结论。我之前曾尝试将第一行移到那里,但不是第二行。我想这让我想到了另一个问题。最终,我计划每次将一张新卡带到牌组的最前面时更新文本视图。但是,现在看到我不能简单地调用 setText() 任何我想要的地方,我以后可以使用它来更新卡片显示,还是我完全错误的方式?
-
没关系,再次找到我自己的解决方案。我想它总是在一个方法中,因为它需要一个手势检测器来激活。不过,我非常感谢你们所有人。我认为,Android 中 Java 的整个基础对我来说有点到位。公平地说,如果我没有选择半夜学习一门新语言,我可能会做得更好。再次感谢你们所有非常快速的答案。
-
真诚的建议大家去了解一下java的概念和编程...