ProgressDialog not showing up in activity

后端 未结 4 622
天涯浪人
天涯浪人 2020-12-20 01:33

I am trying to include a ProgressDialog in my application. But it is not showing up.

Here\'s the code snippet where i use the ProgressDialog:

public          


        
相关标签:
4条回答
  • 2020-12-20 02:03

    Ensure you have this code called by debugging or adding a log. The code seems right to me.

    Also, if you want to perform some operations in background and show a progress dialog while the performing, please use AsyncTask with ProgressDialog bounded, like here.

    0 讨论(0)
  • 2020-12-20 02:06

    ProgressDialog is deprecated in Android O , Use ProgressBar now.

    0 讨论(0)
  • 2020-12-20 02:07

    I think your code is wrong in a sense that you do all in the UI thread. You have to put callsomefunction() into a background thread.

    public void runSomething()
    {
        showDialog(BACKGROUND_ID);
        Thread t = new Thread(new Runnable() 
        {                   
            public void run() 
            {
                //do something
                handler.post(finishThread);
            }
        });
    
        t.start();
        // The progress wheel will only show up once all code coming here has been executed
    }
    

    And as well

    protected Dialog onCreateDialog(int id)
    {
        if(progressDialog == null) progressDialog = new ProgressDialog(this);
        return progressDialog;
    }
    
    @Override
    protected void onPrepareDialog(int id, Dialog dialog)
    {
        if(id == BACKGROUND_ID) 
        {
            progressDialog.setIndeterminate(true);
            progressDialog.setCancelable(false);
            progressDialog.setMessage("running for long ...");
        }
    }
    
    Runnable finishThread = new Runnable()
    {       
        public void run() 
        {
    //long running
            if(progressDialog != null) progressDialog.dismiss();
        }
    };
    
    0 讨论(0)
  • 2020-12-20 02:20

    i think issue is in your switch condition pls verify it.

    here is another method to display dialog in android try this.

    public static final int DIALOG2_KEY = 1;
    public static ProgressDialog dialog1;
    
    showDialog(DIALOG2_KEY); // use it where you want to display dialog 
    
    dialog1.cancel();  // use it to cancel the dialog
    
    
    @Override
        public Dialog onCreateDialog(int id) {
            if (id == 1) {
                dialog1 = new ProgressDialog(this);
                dialog1.setMessage("Please wait...");
                dialog1.setIndeterminate(true);
                dialog1.setCancelable(true);
            }
            return dialog1;
        }
    
    0 讨论(0)
提交回复
热议问题