Android Only the original thread that created a view hierarchy can touch its views

2022-07-25,,,

前言

在使用 NumberProgressBar组件的时候 运行时异常Only the original thread that created a view hierarchy can touch its views

异常为:说只有创建这个view的线程才能操作这个 view,普通会认为是将view创建在非UI线程中才会出现这个错误。

Github地址:NumberProgressBar一个带数字的进度条

解决方法

既然问题已经找到是 view创建在非UI线程中才会出现这个错误

可以直接使用android 的更新ui线程
是在progressBar更新进度条的时候 runOnUiThread

 @Override
public void onDownLoadProgress(int progress, long total) {
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            progressBar.setMax(100);
                            progressBar.setProgress(progress);
                        }
                    });
                }

如此解决此运行时Bug!

本文地址:https://blog.csdn.net/Life_s/article/details/112556324

《Android Only the original thread that created a view hierarchy can touch its views.doc》

下载本文的Word格式文档,以方便收藏与打印。