Android进度对话框消失



我是android编程新手。所以,我试图从互联网下载一个文件在异步任务和显示进度对话框,直到下载完成。但是如果我在应用程序之间切换,比如我打开另一个应用程序,进度对话框就会消失。

这是我用来显示进度对话框的代码
progressDialog.setIndeterminate(false);
progressDialog.setCancelable(false);
progressDialog.setMessage("Backing Up...");
progressDialog.setMax(100);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.show();

我做错了什么?

首先,如果你使用asynctask它运行在UI线程上,所以你必须从home键切换到暂停状态你可以覆盖onPause和onResume方法

我通过在代码中添加这些方法来解决这个问题。

    @Override
            public void onDestroyView()
            {
                if (progressDialog != null && getRetainInstance())
                    progressDialog.setDismissMessage(null);
                super.onDestroyView();
            }
            @Override
            public void onSaveInstanceState(Bundle outState) {
                // TODO Auto-generated method stub
                super.onSaveInstanceState(outState);
            }
@Override
        public void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setRetainInstance(true);
        }

最新更新