gpt4 book ai didi

java - 当我的任务在 UI 线程中执行时,在前台显示一个旋转的轮子

转载 作者:行者123 更新时间:2023-12-01 23:26:34 24 4
gpt4 key购买 nike

我正在开发一个 Android 应用程序,当我单击按钮(查看)时,它会写入 Excel 工作表,完成后会显示一个对话框,通知我任务已完成。

目前,当我按下按钮 View 时,它会显示按钮处于“已单击”状态,直到生成报告。我想在屏幕的前景显示一个旋转的轮子(无限进度条的情况),从我按下按钮的那一刻到对话框显示之前的时间。有人可以用代码解释我应该如何做到这一点吗?

我正在干预可运行类(创建新线程),但没有得到任何结果。

最佳答案

点击事件启动AsyncTask

new NewAsyncTask(ClassName.this).execute();

NewAsyncTask.java

 public class NewAsyncTask extends AsyncTask<Void, Void, String>
{
private ProgressDialog mDialog;

Context mCntxt;

public NewAsyncTask(Context context)
{
mCntxt = context;
}

@Override
protected void onPreExecute()
{
new ProgressDialog(mCntxt);
mDialog = ProgressDialog.show(mCntxt, "", "Loading..");
super.onPreExecute();
}

@Override
protected String doInBackground(Void... params)
{
//code for writing excel sheet
return "success";

}

@Override
protected void onPostExecute(String result)
{
if(mDialog!=null && mDialog.isShowing())
{
mDialog.dismiss();
}
if (result.length()>0)
{
new AlertDialog.Builder(mCntxt)
.setTitle("")
.setMessage("")
.setIcon(R.drawable.ic_launcher)
.setCancelable(false)
.setPositiveButton("OK"),
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int whichButton)
{
dialog.dismiss();
}
})
.create().show();
}

super.onPostExecute(result);
}



}

关于java - 当我的任务在 UI 线程中执行时,在前台显示一个旋转的轮子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19900233/

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