首页 > 代码库 > android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a vi

android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a vi

android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views

这个错误相信大家一定不陌生,特别是刚学习android时,会引起的错误,意思是指在子线程中对UI做了操作,现在写个简单的demo:

public class MainActivity extends Activity {
private TextView textview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textview = (TextView) findViewById(R.id.textview);
new Thread(){
public void run() {
try {
Thread.sleep(1000);
textview.setText("hello");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}.start();
}
}

发现我们是在子线程中对TextView控件中添加内容,导致的错误产生!在此记录下

android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a vi