2013-12-21 152 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"); 
} 

}