gpt4 book ai didi

Android 异步任务显示进度对话框,直到功能完成

转载 作者:行者123 更新时间:2023-11-30 03:01:02 25 4
gpt4 key购买 nike

我知道这个答案已被多次回答,但我无法让它正常工作。它从 Activity A 开始,用户需要通过功能 authenticate 登录。当用户点击按钮登录时,我希望进度对话框出现,直到功能验证得到响应。在成功的同时,您会转到另一个 Activity ,您可以在其中浏览应用程序。无论如何,有时当互联网速度很慢或者如果您使用移动互联网时,我仍然会看到 Activity A 有几秒钟没有做任何事情,而身份验证功能正在运行。完成后,系统跳转到 Activity B。

我尝试使用 sleep 线程,但这不是重点。我希望进度对话框在用户点击登录时出现,并在身份验证功能完成后消失。

在 AsyncTask 的帮助下,我有时会在一秒钟内看到对话框,但不是应该的样子。我也想使用 asynctask 来加载我的 ListView ,但对话框没有按其应有的方式工作。

这是我的 AsyncTask 代码

public class HeavyWorker extends AsyncTask<String, Context, Void> {

private ProgressDialog dialog;

public HeavyWorker() {
}

@Override
protected void onPreExecute() {
super.onPreExecute();
dialog = new ProgressDialog(AuthenticationActivity.this);
dialog.setMessage("Gettting data");
dialog.setIndeterminate(true);
dialog.setCancelable(false);
dialog.show();
}

@Override
protected Void doInBackground(String... params) {
authenticate(username, password, autoLogin);

return null;
}

@Override
protected void onPostExecute(Void result) {
if (dialog != null && dialog.isShowing()) {
dialog.dismiss();
}
}

我调用异步任务的地方

builder.setTitle(R.string.dialog_authenticate)
.setIcon(R.drawable.ic_launcher)
.setView(viewInflater)
.setPositiveButton(R.string.dialog_button_login,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
EditText ETusername = (EditText) viewInflater.findViewById(R.id.username);
EditText ETpassword = (EditText) viewInflater.findViewById(R.id.password);

CheckBox optionAutoLogin = (CheckBox) viewInflater
.findViewById(R.id.autoLogin);

checkAutoLogin = 0;
if (optionAutoLogin.isChecked()) checkAutoLogin = 1;
username = ETusername.getText().toString();
password = ETpassword.getText().toString();

new HeavyWorker().execute();
//authenticate(ETusername.getText().toString(), ETpassword.getText().toString(), checkAutoLogin);
}
})

如有任何帮助或建议,我们将不胜感激。

最佳答案

身份验证成功后,您是否正在完成 Activity A?在这种情况下,您可以跳过 onPostExecute

关于Android 异步任务显示进度对话框,直到功能完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22527121/

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