【发布时间】:2013-10-19 18:59:10
【问题描述】:
当我运行下面的代码时,应用程序不会崩溃:
@Override
protected void onCreate(Bundle savedInstanceState) {
...
final Button b = (Button)findViewById(R.id.button1);
new Mt(b).start();
}
并且此代码下降(当我单击 button1 时出现错误“CalledFromWrongThreadException”):
@Override
protected void onCreate(Bundle savedInstanceState) {
....
final Button b = (Button)findViewById(R.id.button1);
b.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
new Mt(b).start();
}
});
}
Mt 类在哪里
class Mt extends Thread{
Button b;
Mt(Button b){
this.b=b;
}
@Override
public void run() {
b.setText("4");
}
}
为什么第一个示例没有出现错误“CalledFromWrongThreadException”?
【问题讨论】: