我首先想說的是,我經常使用google來查找時間流逝時自動填充的進度條。我發現的所有結果,其中線程或Asynctask。作爲Android的新手,我認爲使用處理進度條更新的額外處理程序可以更輕鬆地完成此任務。ProgressBar與Android應用程序中的處理程序倒計時
但是,我沒有找到任何人這樣做我的方式。它可能違反Android規則嗎?例如,我可以同時使用多個處理程序嗎?
我的代碼如下所示:
public void restarttimebar()
{
stoptimebar();
for(int i=1;i<12;i++)
{
Message msg = timebarhandler.obtainMessage(0,i,0);
timebarhandler.sendMessageDelayed(msg, i*250);
}
};
public void stoptimebar()
{
timebarhandler.removeMessages(0);
Message msg = timebarhandler.obtainMessage(0,0,0);
timebarhandler.sendMessage(msg);
};
Handler timebarhandler = new Handler()
{
@Override
public void handleMessage(Message msg)
{
ProgressBar progressbar = (ProgressBar)findViewById(R.id.timebar);
if (msg.arg1 == 0)
{
progressbar.setProgress(0);
}
if (msg.arg1 > 0)
{
progressbar.setProgress(msg.arg1*9);
}
}
};
現在,人們可以調用restarttimebar();以(重新)啓動進度條。它將在每0.25秒增加3秒鐘。任何言論非常感謝!
編輯:還添加了stoptimebar();停止進度條。此外,一個進度條的標準大小是100.所以我只是做了十二次更新時間9.它幾乎是100;)在我的應用程序中,酒吧不必非常精確。
沒有評論?我在真實設備(LG 2x Speed)上以及Eclipse的模擬器上測試了它,並且它工作正常。然後我保持這種方式:) 可以對谷歌這種事情的人有用。 (7小時前有些地方是晚上,所以他們可能沒有看到這個帖子:P) – schijndelvanjos 2012-01-03 20:16:41