Android 使用ProgressBar.setProgress(int)时出现问题

Android 使用ProgressBar.setProgress(int)时出现问题,android,progress-bar,Android,Progress Bar,08-18 11:24:09.503:错误/AndroidRuntime(22649):原因:android.view.ViewRoot$CalledFromErrorThreadException:只有创建视图层次结构的原始线程才能接触其视图 有什么解决办法吗/ 是的。 您不能在非UI线程中触摸UI,因此解决方案是在runOnUiThread中运行有问题的代码: runOnUiThread(new Runnable() { public void run() { //y

08-18 11:24:09.503:错误/AndroidRuntime(22649):原因:android.view.ViewRoot$CalledFromErrorThreadException:只有创建视图层次结构的原始线程才能接触其视图

有什么解决办法吗/

是的。 您不能在非UI线程中触摸UI,因此解决方案是在
runOnUiThread
中运行有问题的代码:

runOnUiThread(new Runnable() {
    public void run() {
        //your problematic code
    }
});
对。 您不能在非UI线程中触摸UI,因此解决方案是在
runOnUiThread
中运行有问题的代码:

runOnUiThread(new Runnable() {
    public void run() {
        //your problematic code
    }
});

只有UI线程可以处理视图和内容。如果您正在另一个线程中工作,请尝试使用
Handler
将更改发布到UI线程,或切换到使用
AsyncTask


因此,您已经在使用
AsyncTask
,因此您应该
ProgressBar.setProgress()
AsyncTask
onProgressUpdate()中。重写此方法

只有UI线程可以处理视图和内容。如果您正在另一个线程中工作,请尝试使用
Handler
将更改发布到UI线程,或切换到使用
AsyncTask


因此,您已经在使用
AsyncTask
,因此您应该
ProgressBar.setProgress()
AsyncTask
onProgressUpdate()中。重写此方法

我可以让类doSync extends AsyncTask实现runOnUiThread吗?需要什么?您可以在doInBackground()中运行此方法。我可以让类doSync extends AsyncTask实现runOnUiThread吗?需要什么?您可以在doInBackground()中运行此方法