這個(gè)代碼編譯器不報(bào)錯(cuò),但是運(yùn)行時(shí)出現(xiàn)停止運(yùn)行的顯示怎么回事
public class MainActivity extends Activity implements OnClickListener,Runnable{
private Button bt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt=(Button) findViewById(R.id.button1);
bt.setOnClickListener(this);
}
@Override
public void run() {
bt.setText("改變");
}
@Override
public void onClick(View v) {
Thread t=new Thread(new MainActivity());
t.start();
Toast.makeText(getApplication(), "監(jiān)聽到點(diǎn)擊事件", 1).show();
}
}
2018-06-22
android中,在線程中是不能對(duì)UI進(jìn)行操作的,改變UI只能在主線程中進(jìn)行。你這里MainActivity實(shí)現(xiàn)了Runnable接口,那它就是個(gè)線程,怎么還能在run()方法中去更改UI呢!不知道我這個(gè)理解對(duì)不對(duì),僅供參考