簡體   English   中英

在Android中運行方法時顯示加載對話框?

[英]Display loading dialog while running method in Android?

我有一個方法設置,運行大約需要3-5秒(因為它在網上做了一些事情),我想顯示一個加載對話框,但我無法弄清楚如何做到這一點,我試着在我打電話之前啟動加載dialod然后該方法試圖在這之后立即解雇它:

dialog.show();
myMethod();
dialog.cancel();

但這沒用,有沒有人有任何建議?

AsyncTask是我的Favouite但你也可以使用Handlers :)

花時間去瀏覽這個不錯的博客

以下代碼段將為您提供幫助。

    package org.sample;

    import android.app.Activity;
    import android.app.ProgressDialog;
    import android.os.Bundle;
    import android.os.Handler;

    public class Hello extends Activity {

        private Handler handler;
        private ProgressDialog dialog;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            dialog = new ProgressDialog(this);
            dialog.setMessage("Please Wait!!");
            dialog.setCancelable(false);
            dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
            dialog.show();

            new Thread() {
                public void run() {
                    // Do operation here.
                    // ...
                    // ...
                    // and then mark handler to notify to main thread 
                    // to  remove  progressbar
                    //
                    // handler.sendEmptyMessage(0);
                    //
                    // Or if you want to access UI elements here then
                    //
                    // runOnUiThread(new Runnable() {
                    //
                    //     public void run() {
                    //         Now here you can interact 
                    //         with ui elemements.
                    //
                    //     }
                    // });
                }
            }.start();

            handler = new Handler() {
                public void handleMessage(android.os.Message msg) {
                    dialog.dismiss();
                };
            };
        }
    }

在UI線程上運行一個持續時間很長的任務是“不,不”。 使用AsyncTask在后台運行長持續時間任務,並在完成后更新UI。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM