Android 线程显示错误
计时器是一个文本视图,在运行时抛出错误 [threadid=1:线程以未捕获异常退出(组=0xa4b5c648)]Android 线程显示错误,android,eclipse,Android,Eclipse,计时器是一个文本视图,在运行时抛出错误 [threadid=1:线程以未捕获异常退出(组=0xa4b5c648)] @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.level_twolayout); Thread t1 = new
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.level_twolayout);
Thread t1 = new Thread() {
public void run() {
for (int i = 0; i < 10; i++) {
try {
sleep(1000);
} catch (Exception e) {
}
error--------> Timer.setText(i);
}
}
};t1.start();
}
[致命异常:主]
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.level_twolayout);
Thread t1 = new Thread() {
public void run() {
for (int i = 0; i < 10; i++) {
try {
sleep(1000);
} catch (Exception e) {
}
error--------> Timer.setText(i);
}
}
};t1.start();
}
[android.content.res.Resources$NotFoundException:String资源ID#0x0]
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.level_twolayout);
Thread t1 = new Thread() {
public void run() {
for (int i = 0; i < 10; i++) {
try {
sleep(1000);
} catch (Exception e) {
}
error--------> Timer.setText(i);
}
}
};t1.start();
}
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.level\u twoolayout);
线程t1=新线程(){
公开募捐{
对于(int i=0;i<10;i++){
试一试{
睡眠(1000);
}捕获(例外e){
}
错误------->Timer.setText(i);
}
}
};t1.start();
}
您必须这样设置文本
Timer.setText(i+)代码>
这是因为当您真正想要调用setText(String text)
版本时,当您传入一个int值时,将调用setText(int resId)
版本
编译器/IDE在此没有给出错误。int版本查找不存在的对应字符串资源,并给出错误信息
查看此链接了解模式信息。更改
Timer.setText(i);
到
这里的i
是一个整数
值。您不能将Integer
值指定为TextView
文本,您必须首先将其转换为String
。一个温和的建议和预防措施,以防将来可能遇到的所有异常-->在UI线程中处理任何/just UI操作,如rununuithread(new Runnable(){Timer.setText(i);})如果你向OP解释原因,你的帖子可能会吸引更多的选票;然后,程序没有执行的问题也出现了。首先,我转换成字符串并执行了同样不起作用的代码。如果在eclipse中运行上述代码,就会发现错误。而不是Timer.setText(string.valueOf(i));我的演讲信息变了。Toast.makeText(MainActivity.this,i,Toast.LENGTH_SHORT).show();它仍然抛出错误消息