Use Asynctask to display a ProgressBar in Android

后端 未结 5 1546
暖寄归人
暖寄归人 2021-01-24 15:59

I am trying to do display a ProgressBar.

I am an Android beginner.

When I press the button, the task should be running in the background, but it does not display

5条回答
  •  旧巷少年郎
    2021-01-24 16:27

    You created the dialog but not showing it anywhere. Your onPreExecute() should look like:

    @Override
    protected void onPreExecute() {
    
        super.onPreExecute();
        // create dialog
        dialog=new Dialog(context);
        dialog.setCancelable(true);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dialog.setContentView(R.layout.pogressdialog);
        txtprogrss=(TextView) dialog.findViewById(R.id.txtProgress);
        progress=(ProgressBar)dialog.findViewById(R.id.progressBar2);
        btnCancel=(Button)dialog.findViewById(R.id.btnProgress);
    
        btnCancel.setOnClickListener(new OnClickListener() {
    
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
    
                MyTask.this.cancel(true);
                dialog.dismiss();  //On button click cancel AsyncTask and dismiss dialog
            }
        });
        dialog.show();  //Show the dialog
    }
    

    You also need to dismiss the dialog when clicked on btnCancel.

提交回复
热议问题