我遇到了一个有趣的问题.如果您在onCreate/onStart/onResume活动方法中编写以下代码:
final Button myButton = (Button)findViewById(R.id.myButton);
final TextView myTextView = (TextView)findViewById(R.id.myTextView);
final Thread thread = new Thread(new Runnable() {
@Override
public void run() {
myTextView.setText("Hello text");
}
});
myButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
thread.start();
}
});
Run Code Online (Sandbox Code Playgroud)
要么:
final TextView myTextView = (TextView)findViewById(R.id.myTextView);
final Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.currentThread().sleep(500);
}
catch (InterruptedException e) {
e.printStackTrace();
}
myTextView.setText("Hello text");
}
});
thread.start();
Run Code Online (Sandbox Code Playgroud)
应该如何,抛出一个错误
android.view.ViewRoot $ CalledFromWrongThreadException: …Run Code Online (Sandbox Code Playgroud)