2010-08-16 69 views
2

我使用listview創建了一個下載管理器,它將顯示進度條下載的當前數據。我可以知道如何更新進度欄?例如runOnUIThread question

。我有3班。

「main.class」=是一個listview。

「mAdapter.class」= is extends ArrayAdapter。

「mThread.class」=實現Runnable開始下載。

我有谷歌,並發現更新列表視圖,或重繪UI應該使用runOnUIThread。但我怎樣才能將這三個班級結合在一起?我試試

mThread.start(){ 
    main.runOnUIThread(updated); 
} 
private updated = new Runnable(){ 
    mAdapter.progressbar.setProgress(downloaded); 
} 

這2個方法我被放在「mThread.class」中。但它不起作用。我可以知道我的錯誤嗎?

P/S:我很抱歉我的醜陋代碼和英文不好。希望你們明白我在說什麼。謝謝

回答

1

您需要使用AsyncTask。有關說明和示例,請參閱the docs

+0

嗨康斯坦丁,謝謝你的回覆。我以前看過這個方法。但我真的不知道如何使用它。例如那3個參數AsyncTask <「param1」,「param2」,「param3」>。我應該把「param1」和「param2」放在什麼位置?一個線程的下載? 「param3」是它把結果我得到了什麼?以及如何使用這4個步驟?我對我的英語和愚蠢的問題感到抱歉。感謝您的回覆。 – WynixToo 2010-08-16 14:13:45

+1

嗨,這裏是關於AsyncTask的更好的指導。它包含相當不錯的代碼示例和評論。 http://www.screaming-penguin.com/node/7746 – 2010-08-16 14:20:56

+0

嗨,對於遲到的回覆感到抱歉。我已經嘗試過,但我的資深人士表示下載不應該使用AsyncTask。它使用使用句柄消息和runOnUIThread。這是真的嗎? – WynixToo 2010-08-18 03:58:04