[Android每日一講]2012.11.01 程序加載中,請稍後 – ProgressDialog 與線程整合應用

1. 范例說明
常看見Windows窗口程序裡或Flash程序的“加載中”對話框,在Android裡,則是通過ProgressDialog來運行,這個類封裝在Android.app.ProgressDialog裡。
該范例將設計一個按鈕,在單擊按鈕之後開始線程的周期,在運行的過程中顯示ProgressDialog,最後當線程運行完畢時,選擇結束ProgressDialog對話窗口。

2. 運行結果

3. 編寫代碼
[java] 
Button.OnClickListener myShowProgressBar = new Button.OnClickListener() { 
        public void onClick(View arg0) { 
            final CharSequence strDialogTitle = getString(R.string.str_dialog_title); 
            final CharSequence strDialogBody = getString(R.string.str_dialog_body); 
            final CharSequence strDone = getString(R.string.str_dialog_done); 
            // 顯示Progress對話框 
            myDialog = ProgressDialog.show(MainActivity.this, strDialogTitle, 
                    strDialogBody, false); 
            myDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
            mTextView1.setText(strDialogBody); 
            new Thread() { 
                public void run() { 
                    try { 
                        /* 在這裡寫上要後臺執行的程序片段 */ 
                        /* 為瞭明顯看見效果,以暫停3秒作為示范 */ 
                        sleep(3000); 
                    } catch (Exception e) { 
                        e.printStackTrace(); 
                    } finally { // 卸除所建立的myDialog對象。 
                        myDialog.dismiss(); 
                    } 
                } 
            }.start(); /* 開始執行線程 */ 
        } 

4. 擴展學習與作業
1.繼承關系:
ProgressDialog->AlertDialog->Dialog->Object
2.查看Reference
3.Android 對話框中的進度條ProgressDialog
 作業:
1.寫一個有進度更新的ProgressDialog
2.思考:如何在線程執行完畢後更新TextView內容為“正確執行完畢!”

You May Also Like