好的,我在这里有一个非常简单的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”的行并给出以下语法错误:
令牌上的语法错误,错位的构造//强调tv1之后的句号
令牌上的语法错误“”新文本“”,删除此令牌
答案 0 :(得分:3)
将textview的初始化移至onCreate
。
TextView tv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1 = (TextView) findViewById(R.id.TextView1);
// initialize after settting layout to activtiy
tv1.setText("New text");
// the above statement must be within a method
}
textview
的初始化超出了任何方法。只有在将布局设置为活动后,才应初始化文本视图。因此textview在onCreate
中初始化。此tv1.setText("New text")
语句必须位于方法中。
初始化textview
内部活动onCreate
会更好。
答案 1 :(得分:0)
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");
}
将代码放在oncreate方法中。
答案 2 :(得分:0)
// try this
public class MainActivity extends Activity {
TextView tv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1 = (TextView) findViewById(R.id.TextView1);
tv1.setText("New text");
}
}
答案 3 :(得分:0)
TextView tv1 = (TextView) findViewById(R.id.TextView1);
tv1.setText("New text");
总是在onCreate,onresume等方法中使用这类内容
答案 4 :(得分:0)
just because you initailize textview locally and set the textview
outside onCreate method,you got this error.define textview globally solve ur issue;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
TextView tv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
tv1 = (TextView) findViewById(R.id.TextView1);
tv1.setText("New text");
}
答案 5 :(得分:0)
将TextView对象移动到onCreate()方法中,然后在其上调用setText方法。这是您的必需代码。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv1 = (TextView) findViewById(R.id.TextView1);
tv1.setText("New text");
}