欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-05 16:16:48
前言在使用 NumberProgressBar组件的时候 运行时异常Only the original thread that created a view hierarchy can touch its views异常为:说只有创建这个view的线程才能操作这个 view,普通会认为是将view创建在非UI线程中才会出现这个错误。Github地址:NumberProgressBar一个带数字的进度条解决方法既然问题已经找到是 view创建在非UI线程中才会出现这个错误可以直接使用android...

前言

在使用 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