Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ProgressDialog未显示-Android_Android - Fatal编程技术网

ProgressDialog未显示-Android

ProgressDialog未显示-Android,android,Android,我试图在ACTION\u UP中显示进度对话框,出于某种奇怪的原因,它不工作,我在日志中没有看到任何错误,ACTION\u UP块中的所有内容都工作,除了进度对话框?有人知道发生了什么吗 我甚至添加了吐司来测试它,它工作得很好 button.setOnTouchListener(new View.OnTouchListener() { public boolean onTouch(View view, MotionEvent event) { if (event.getA

我试图在ACTION\u UP中显示进度对话框,出于某种奇怪的原因,它不工作,我在日志中没有看到任何错误,ACTION\u UP块中的所有内容都工作,除了进度对话框?有人知道发生了什么吗

我甚至添加了吐司来测试它,它工作得很好

button.setOnTouchListener(new View.OnTouchListener() {
    public boolean onTouch(View view, MotionEvent event) {
        if (event.getAction() == android.view.MotionEvent.ACTION_DOWN) {
            //works here
           //progress = ProgressDialog.show(context,"Processing...","Preparing your file", true);
         } else if (event.getAction() == android.view.MotionEvent.ACTION_UP  ) {

            Toast toast;
            duration = Toast.LENGTH_LONG;
            toast = Toast.makeText(context, text, duration);
            toast.show();//this work and the toast is getting displayed

            progress = ProgressDialog.show(context,"Processing...","Preparing your file", true);

        }
        return true;
    }

});

由于某些原因,有时progressDialog不会显示您是否正在调用show如果主线程我不知道为什么,但我不久前遇到了相同的问题我的工作是使用处理程序和runnable调用show

new Handler().postDelayed(new Runnable(){
        @Override
        public void run() {
             progressDialog.show();
        }
},100);

由于某些原因,有时progressDialog不会显示您是否正在调用show如果主线程我不知道为什么,但我不久前遇到了相同的问题我的工作是使用处理程序和runnable调用show

new Handler().postDelayed(new Runnable(){
        @Override
        public void run() {
             progressDialog.show();
        }
},100);

我倾向于显示对话框通知,如下面的代码,您可以在其中放置子ShowDialog();你在那里展示你的祝酒词。应该有用

private void subShowdialog() { 
    final ProgressDialog progDailog = ProgressDialog.show( 
            context, "Processing...","Preparing your file", true); 

    new Thread() { 
        public void run() { 
            try { 
                sleep(1000);
                //Start whatever action here
                progDailog.dismiss(); 
            } catch (Exception e) { 
            } 

        } 
    }.start(); 
} 

我倾向于显示对话框通知,如下面的代码,您可以在其中放置子ShowDialog();你在那里展示你的祝酒词。应该有用

private void subShowdialog() { 
    final ProgressDialog progDailog = ProgressDialog.show( 
            context, "Processing...","Preparing your file", true); 

    new Thread() { 
        public void run() { 
            try { 
                sleep(1000);
                //Start whatever action here
                progDailog.dismiss(); 
            } catch (Exception e) { 
            } 

        } 
    }.start(); 
} 

或者你可以使用很棒的材料库,很高兴我能提供帮助;)因为显示“进度”对话框时会阻止主线程,因此它可能会泄漏内存,或者您可以使用非常棒的材质库(很高兴我能提供帮助;)因为显示的进度对话框会阻止主线程,因此它可能会泄漏内存操作,我看到我在其他人添加了正确答案后发布了我的答案(教我在煮咖啡时开始回答)。哦,我看到我在其他人添加了正确答案后发布了我的答案(教我在煮咖啡时开始回答)。