【Android开发学习笔记】【随笔】UI线程
概念
UI线程 是Android中的主线程,涉及到UI方面的一些操作都需要在ui线程中进行操作
在非ui线程中想操作ui,就会报错
android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
因此需要以下方法解决:
方法一
void fun() //非ui线程的函数 { try { runOnUiThread(new Runnable() { public void run() { //操作ui的代码 } }); } catch (Throwable e) { e.printStackTrace(); } }
方法二
private Handler handler = new Handler(); void fun() //非ui线程的函数 { new Thread() { public void run() { handler.post(runnablefun); } }.start(); } Runnable runnablefun = new Runnable() { @Override public void run() { // 执行ui 的代码 } };