11
此按鈕顯示在我的開始活動中。按下後,將啓動一項新活動,但這需要一些時間,因此在初始化新活動時會從互聯網收集一些數據。 這工作的一半。顯示進度對話框,但進度輪不旋轉。開始新活動時的進度對話框
有人可以告訴我爲什麼發生這種情況?
Button b4 = (Button) findViewById(R.id.Button01);
b4.setOnClickListener(new View.OnClickListener() {
public void onClick (View view) {
final ProgressDialog pd = ProgressDialog.show(pak.this,
"", "Working..", true);
new Thread(new Runnable(){
public void run(){
Intent intent = new Intent();
intent.setClassName("sxe.pak", "sxe.pak.List");
startActivity(intent);
pd.dismiss();
}
}).start();
}
});
THX
很好的回答,但只要線程不需要使用UI線程我寧願主題到的AsyncTask。 – pgsandstrom
嗨mbaird,thx爲您的答案。我知道可以使用AsyncTask來異步工作,但在我的情況下,它不可用(或我不知道如何),因爲我想開始一個新的活動。 在第二個活動開始時啓動進度對話框不是一個選項,我試過了,但沒有運氣,導致顯示第一個活動,直到第二個活動開始完成。 如果我點擊按鈕,按鈕會改變它的顏色,然後顯示進程對話框,就像我期望它只有輪子不旋轉。這是唯一的問題。 – Andy
@安迪,進度對話框不旋轉,因爲你正在UI線程中工作。通過AsyncTask或者線程或Runnable將下載工作移至單獨的線程。再次,如果你看看我給出的答案,並且嘗試將我的答案的onCreate()方法中發生的事情複製到第二個活動的onCreate()方法中的那個問題上,我保證它會起作用。 –