这个东西弄了我好久,一直以来都是用的Handler加thread,今天早上做一个Fragmen的页面切换,突然发现用不了了,查了会百度,发现挺难的,于是果断使用了另一个方法runOnUiThread,看它的调用文件,发现它在Activity类中,而我继承的是Fragmen,所以需要进行一个转换了。也不难。下面贴代码
public void Radd(){ new Thread(new Runnable() { @Override public void run() {//一个新的子线程, try { Thread.sleep(5000); //阻塞5秒 getActivity().runOnUiThread(new Runnable() {
//调用runOnUiThread,需要在它的前面加上getActivity()类,
//但是调用时注意需要进行判断是否为空。
@Override public void run() { TV1.setText("dsa");//进行UI绘制 } }); } catch (InterruptedException e) { e.printStackTrace(); } } }).start();//启用 }
//代码的意思是启用一个新的子线程,并阻塞子线程5秒(进行耗时操作),完成后通知UI线程进行更改.