android - 为什么我看不到使用此 Activity 的 ProgressDialog?

标签 android android-activity

我无法显示我的 ProgressDialog,我不确定为什么?

代码:

public class Activity001 extends Activity implements OnClickListener 
{
     public void onClick(View view) 
     { 
    ProgressDialog progressDialog = ProgressDialog.show(Activity001.this, "", "wait ", true, false);

                // Sending some files to server .. takes time .. -  (method that take 1-2 minutes ) 

    progressDialog.dismiss();

       } 
}

有人可以帮我吗?

最佳答案

试试这个。

在 onCreate() 中执行此操作

       Handler handler;
handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        if (msg.what == 0) {
     Pdialog.dismiss();     


     }
   };

现在使用线程将文件上传到服务器。修改这段代码,

public class Activity001 extends Activity implements OnClickListener 
{
     public void onClick(View view) 
     { 
    ProgressDialog progressDialog = ProgressDialog.show(Activity001.this, "", "wait ", true, false);
Thread ProgressThread = new Thread() {
                @Override
                public void run() {
                    try {
                                // Sending some files to server .. take time .. -  (method that take 1-2 minuts ) 



                    } catch(InterruptedException e) {
                        // do nothing
                    } finally {

                             handler.sendEmptyMessage(0);
                    }
                }
            };

                ProgressThread.start();


       } 

}

编辑

进度对话框是一个轻量级对象。它并不优先于主线程中发生的其他任务。例如,当您在主线程中调用一个进度对话框的 show() ,然后调用一个 http 进程或类似的东西时,它将不允许轻量级的 prgoress 对话框优先。显然它只会在 http 进程结束时出现。

关于android - 为什么我看不到使用此 Activity 的 ProgressDialog?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8712295/

相关文章:

android - 如何以多行显示对话框的标题?

android - 我是否正确地在 Activity 代码中进行依赖注入(inject)?

android - 下载管理器进度在通知区域不可见

java - 使用单例 MainActivity?

java - 从父 Activity 访问选项卡式 fragment 方法?

android - 如何设置EditText提示字体透明度?

android - 如何获取AlarmManager调用的唯一pendingIntent的ID?

java - android BroadcastReceiver 没有按预期工作

Android Lint 提示 Activity 未在 AndroidManifest 中注册,但它是

java - 无法启动 Activity ComponentInfo - 二进制 XML 文件行