gpt4 book ai didi

java - 异步任务可以部分运行吗?

转载 作者:行者123 更新时间:2023-12-02 08:18:06 25 4
gpt4 key购买 nike

它确实在工作,因为 postData 发送到我的网站并转发它正在执行的电子邮件。但是loadingDialog不会执行(它可能会执行,但这是一个非常快的过程)。最后一个进程 senddialog 没有执行,因为它弹出一个新对话框,显示已发送但没有发生。我有这个异步脚本

    protected class sendReport extends AsyncTask<Void, Void, Void> {
protected void onProgressUpdate() {
progressdialog();
}
protected void onPostExecute() {
sentdialog();
loadingDialog.dismiss();
}
@Override
protected Void doInBackground(Void... arg0) {
postData();
publishProgress();
return null;
}

}

下面是发送的对话脚本。

public void sentdialog(){
//set up dialog
final Dialog sentdialog = new Dialog(context);
sentdialog.setContentView(R.layout.sentdialog);
sentdialog.setTitle("Sent");
sentdialog.setCancelable(true);

final Button button = (Button) sentdialog.findViewById(R.id.Button01);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
sentdialog.dismiss();
}
});
sentdialog.show();
}

最佳答案

编辑:您可以使用给定 Activity Main 的处理程序来执行此操作:

首先为每个 Activity 创建一个处理程序:

private ProgressDialog progress;
private Handler myHandler= new Handler(){
@Override
public void handleMessage(Message msg){
switch(msg.what){
case 0:
progress.dismiss();
sentDialog();
break;
default:
super.handleMessage(msg);
break;
}
}
};

我写了你的progressDialog、postData、sentDialog方法:

private ProgressDialog progressDialog() {
progress= new ProgressDialog(this);
progress.setIndeterminate(true);
progress.setMessage("I am thinking");
return progress;
}
private String postData() {
try{
Thread.sleep(1000);
}
catch(Exception e){;}
Log.d(TAG,"postData");
return "done";
}
private void sentDialog() {
Toast.makeText(Main.this,"Sent", Toast.LENGTH_SHORT).show();
}

并在onclick中调用:

// DISPLAY ON CLICK HANDLER
displayButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
progressDialog().show();
Thread thread= new Thread( new Runnable() {
public void run() {
postData();
myHandler.sendEmptyMessage(0);
}
});
thread.setDaemon(true);
thread.start();
}
});

关于java - 异步任务可以部分运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5970042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com