2013-12-21 119 views
0

如何根据SQLite Int值设置ProgressBar的颜色? 此代码不适用于我。Android动态更改进度栏颜色

myProgressB.setProgressColor(cb.color); 
+0

这个问题已经做到这一点之前曾被问及过多次回答。请使用谷歌或本网站上的搜索。 –

+0

http://stackoverflow.com/questions/2020882/how-to-change-progress-bars-progress-color-in-android –

回答

1

您必须更改它从另一个线程更新。我通常通过的AsyncTask线程在那里为你下载文件我会覆盖onProgressUpdate或做一些其他的工作

private class DownloadFilesTask extends AsyncTask<URL, Integer, Long> { 
protected Long doInBackground(URL... urls) { 
    int count = urls.length; 
    long totalSize = 0; 
    for (int i = 0; i < count; i++) { 
     totalSize += Downloader.downloadFile(urls[i]); 
     publishProgress((int) ((i/(float) count) * 100)); 
     // Escape early if cancel() is called 
     if (isCancelled()) break; 
    } 
    return totalSize; 
} 

protected void onProgressUpdate(Integer... progress) { 
    setProgressPercent(progress[0]); 

//你在这里工作

 myProgressB.setProgressColor(cb.color); 



} 

protected void onPostExecute(Long result) { 
    showDialog("Downloaded " + result + " bytes"); 
} 

}