Android筆記:實現載入的progressDialog之後跳轉到程式主介面

來源:互聯網
上載者:User

因為考慮到有些程式載入時間相對較長,所以在啟動主介面之前,實現一個載入的progressDialog對話方塊來延緩,相對來說可以提高使用者體驗度。

如果是直接進入主介面,即activity,介面因為載入時間長,一片漆黑,讓使用者老覺得這程式不行。

貼出源碼:

方法一:

public class LoadingActivity extends Activity {    private ProgressDialog dialog;    @Override    protected void onCreate(Bundle savedInstanceState) {            // TODO Auto-generated method stub            super.onCreate(savedInstanceState);            //設定一個progressdialog的彈窗            dialog = ProgressDialog.show(this, null, "程式正在載入,請稍候...", true, false);            //啟動一個處理loading業務的線程            new LoadingThread(this).start();    }    private class LoadingThread extends Thread {            private LoadingActivity activity;            public LoadingThread(LoadingActivity act) {                    Log.d(">>>>>LoadingThread", "構造方法");                    activity = act;            }            public void run() {                    Log.d(">>>>>LoadingThread", "傳遞message");                //*********************                    //處理業務                //*********************                                        //發送訊息                    activity.mHandler.sendEmptyMessage(0);            }    }        //處理跳轉到主Activity    private Handler mHandler = new Handler() {            @Override            public void handleMessage(Message msg) {                    // TODO Auto-generated method stub                    Log.d(">>>>>Mhandler", "開始handleMessage");                    Intent mIntent = new Intent();                    mIntent.setClass(LoadingActivity.this, PalmHospital_main_Activity.class);                    startActivity(mIntent);                    LoadingActivity.this.finish();                    Log.d(">>>>>Mhandler", "LoadActivity關閉");                    if (dialog.isShowing())                            dialog.dismiss();            }    };}

方法二:相對來說要容易理解一點,貼圖

public class LoadingActivity extends Activity {    private ProgressDialog dialog;    @Override    protected void onCreate(Bundle savedInstanceState) {            // TODO Auto-generated method stub            super.onCreate(savedInstanceState);            //設定一個progressdialog的彈窗            dialog = ProgressDialog.show(this, "加載中...", "正在搜尋。。。。,請稍後!");            Thread thread = new Thread(new Runnable() {                    public void run() {                                                                 //do...                                                                                        Message message = new Message();                            message.what = 0;                            mHandler.sendMessage(message);                    }            });            thread.start();    }        //處理跳轉到主Activity    private Handler mHandler = new Handler() {            @Override            public void handleMessage(Message msg) {                    // TODO Auto-generated method stub                    Log.d(">>>>>Mhandler", "開始handleMessage");                    Intent mIntent = new Intent();                    mIntent.setClass(LoadingActivity.this, PalmHospital_main_Activity.class);                    startActivity(mIntent);                    LoadingActivity.this.finish();                    Log.d(">>>>>Mhandler", "LoadActivity關閉");                    if (msg.what == 0) {                        dialog.dismiss();                }            }    };}

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.