Android te如何设置“进度时间”对话框
我有一个叫做的大进程,当我执行http请求并移动到其他活动或片段时,它将被调用 问题是,流程未完成是,然后显示将为空,然后移动到另一个活动 问题是,我们如何设置计时器和超时,以及在哪里可以放置行代码 这是我当前的代码Android te如何设置“进度时间”对话框,android,timeout,progressdialog,Android,Timeout,Progressdialog,我有一个叫做的大进程,当我执行http请求并移动到其他活动或片段时,它将被调用 问题是,流程未完成是,然后显示将为空,然后移动到另一个活动 问题是,我们如何设置计时器和超时,以及在哪里可以放置行代码 这是我当前的代码 public class BigProccess extends AsyncTask<Void, Integer, Void> { private Context mContext; ProgressDialog mProgress;
public class BigProccess extends AsyncTask<Void, Integer, Void> {
private Context mContext;
ProgressDialog mProgress;
private int mProgressDialog=0;
public BigProccess(Context context, int progressDialog){
this.mContext = context;
this.mProgressDialog = progressDialog;
}
@Override
public void onPreExecute() {
mProgress = new ProgressDialog(mContext);
mProgress.setMessage("Loading...");
// if (mProgressDialog== ProgressDialog.STYLE_HORIZONTAL){
mProgress.setIndeterminate(false);
mProgress.setMax(100);
mProgress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
mProgress.setCancelable(false);
// }
mProgress.show();
}
@Override
protected void onProgressUpdate(Integer... values) {
// if (mProgressDialog== ProgressDialog.STYLE_HORIZONTAL){
mProgress.setProgress(values[0]);
// }
}
@Override
protected Void doInBackground(Void... values) {
try {
//This is to simulate there is a heavy process is running
//and we make it slow down by 500 ms for each number
for (int i =1; i<=10;i++){
publishProgress(i*10);
Thread.sleep(500);
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
mProgress.dismiss();
// Toast.makeText(mContext,"Done!!!",Toast.LENGTH_LONG).show();
}
}
public类bigprocess扩展异步任务{
私有上下文;
进步;
私有int mProgressDialog=0;
公共bigprocess(上下文,int progressDialog){
this.mContext=上下文;
this.mProgressDialog=progressDialog;
}
@凌驾
公共无效onPreExecute(){
mProgress=新建进度对话框(mContext);
设置消息(“加载…”);
//如果(mProgressDialog==ProgressDialog.STYLE\u水平){
mProgress.setUndeterminate(假);
m程序设置最大值(100);
mProgress.setProgressStyle(ProgressDialog.STYLE\u微调器);
可设置可取消的进程(错误);
// }
mProgress.show();
}
@凌驾
受保护的void onProgressUpdate(整型…值){
//如果(mProgressDialog==ProgressDialog.STYLE\u水平){
mProgress.setProgress(值[0]);
// }
}
@凌驾
受保护的Void doInBackground(Void…值){
试一试{
//这是为了模拟有一个繁重的进程正在运行
//我们将每个数字的速度降低500毫秒
对于(int i=1;我不明白你的问题是关于你想要什么以及现在发生了什么?你能正确地解释一下吗?我需要将超时设置得更长一些