我有兩個活動Activity1和Activity2。 單擊按鈕時,我將從Activity1切換到Activity2。但是由於網速較慢,Activity2需要花費很多時間才能加載。顯示空白屏幕直到活動加載。如何在活動之間切換時顯示進度條
除了黑屏,我想顯示一個進度條,當Activity2準備就緒時,然後關閉進度條,而不會讓用戶感到沮喪。
我不知道如何做到這一點或開始這一點。我是android新手。 請幫助我建議的想法或請分享有關這個的任何鏈接!
在此先感謝!
我有兩個活動Activity1和Activity2。 單擊按鈕時,我將從Activity1切換到Activity2。但是由於網速較慢,Activity2需要花費很多時間才能加載。顯示空白屏幕直到活動加載。如何在活動之間切換時顯示進度條
除了黑屏,我想顯示一個進度條,當Activity2準備就緒時,然後關閉進度條,而不會讓用戶感到沮喪。
我不知道如何做到這一點或開始這一點。我是android新手。 請幫助我建議的想法或請分享有關這個的任何鏈接!
在此先感謝!
使用加載屏幕(一個不確定的進度條或圓圈很好)或更好的方式啓動您的Activity2:緩存的數據,並將您的重量放在一個Thread上。 在線程結束時,移除進度條並顯示數據。
有了這種想法的,活性2將推出真正快速,可以顯示wathever你的數據加載
線程將避免遇到黑屏時想要的。
public class Activity2 extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new Thread(new Runnable() {
public void run(){
//All your heavy stuff here!!!
}
}).start();
}
}
注意:您也可能更喜歡一個的AsyncTask,您可以在這裏看到不同的充方式有很大comparaison達到你想要的東西:
http://techtej.blogspot.be/2011/03/android-thread-constructspart-4.html
這個想法很好!可以請分享有關此的任何鏈接!謝謝!! – Mahe
增加了一些代碼。 –
ASyncTask
是你在找什麼。它不應該很難實現。
您可以在活動2的onCreate中使用AsyncTask。在onPreExecute
中顯示progressdialog
。在onDoinBackground
完成下載。當在onPostExecute
中完成時,隱藏progressdialog
並在UI中顯示內容。
對於示例代碼
private class YourTask extends AsyncTask<Void, Void, ContentType> {
protected void onPreExecute() {
//show progressdialog here
}
protected ContentType doInBackground() {
// download content
return content;
}
protected void onPostExecute(ContentType content) {
// hide progress dialog
// show the content
}
}
你能告訴導入用於ContentType ..? – 2017-01-04 06:05:41
什麼是ContentType? –
發佈您的代碼...... –
我會更專注於固定活動2.使用Traceview和類似的技術,以確定是什麼原因造成它這麼長的時間。 – CommonsWare
@CommonsWare,Activity2加載谷歌地圖。地圖花費時間來加載。所以,我想顯示進度條,直到地圖完全加載!那是我的想法。但不知道如何實現它! – Mahe