0
我實現了一個進度條,下載兩個文件,進度條如下進度條隨着不同的訊息,不同的文件
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case progress_bar_type: // we set this to 0
pDialog = new ProgressDialog(this);
if (x.equals("xP"))
{
pDialog.setMessage("Downloading file. Please wait...");
}
if (x.equals("xV"))
{
pDialog.setMessage("Updating file. Please wait...");
}
pDialog.setIndeterminate(false);
pDialog.setMax(100);
pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pDialog.setCancelable(true);
pDialog.show();
return pDialog;
default:
return null;
}
}
我想顯示不同的按摩每兩個文件(下載和更新)。
- 我按下一個按鈕
- 它調用類A(X = XP),這將下載該文件(消息是Downlaoding)
- A類然後調用類B(X = XV),這將下載的第二文件(消息被更新)
- 然而,當進度啓動
- 如果我在的onClick按鈕組x,則x將保持在整個按鈕事件相同的值即使該事件具有限定X啓動兩個類X不爲公知的在他們和因此消息將永遠下載這兩個文件。希望這是有道理的。
我注意到,進度條在單個實例中爲每個文件運行兩次,這很好,但它只被調用一次而不是兩次,我已經放出一個系統輸出,顯示該調用僅被調用一次,但運行兩次,這就是爲什麼我掙扎,它不會爲每個文件再次啓動。 – TwoStarII
檢查進度條的實例,如果它不爲空,並且isShowing()爲true,則只更新其消息,否則創建一個新實例。 –
謝謝,我在if和else語句中使用了isShowing(),但由於某種原因,它在else(not if)語句中更新,但是這對我有用:如果(pDialog.isShowing()){ }通過out.println( 「顯示:」); //這是錯的嗎? } else \t { \t System.out.println(「NOT SHOWING:」); \t pDialog.setMessage(「正在更新文件,請稍候...」); \t} – TwoStarII