ERROR:Only the original thread that created a view hierarchy can touch its views. Android更新UI

来源:互联网 发布:三星电视看网络电视 编辑:程序博客网 时间:2024/06/06 21:02

当出现:Only the original thread that created a view hierarchy can touch its views.时,意思是无法在子线程中更新UI,是由于子线程更新了主线程,抛出的错误又或者在别一个类中,引用了主线程的 invalidate()方法。

解决方法:如果在另一个类中,引用主线程的想刷新界面应该用: postInvalidate()方法,另一种方法是用handler方法,

还有一种是runOnUiThread方法。

前2种方法的使用实例参考博文http://blog.csdn.net/veryitman/article/details/6384641

runOnUiThread方法使用如下:private OnClickListener mListener2 = new View.OnClickListener() {            public void onClick(View v) {                        getActivity().runOnUiThread(new Runnable() {            @Override            public void run() {                // This code will always run on the UI thread, therefore is safe to modify UI elements.                myTextBox.setText("my text");            }        });            }            };





0 0
原创粉丝点击