gpt4 book ai didi

android - 切换到另一个 Activity 时进度对话框卡住

转载 作者:搜寻专家 更新时间:2023-11-01 09:03:47 24 4
gpt4 key购买 nike

我有两个 Activity 。在按 Intent 切换到第二个 Activity 时,需要 3-4 秒,因为它有很多组件和适配器从 SQLite 等获取数据。因此,我想在切换时显示一个进度对话框。

为此,我一直在挖掘主题并尝试了其中的许多主题:

1-) 在第二个 Activity 上使用 AsyncTask。单击组件切换到第二个 Activity 后,它不会立即显示进度对话框。它等待 3-4 秒,然后进度对话框显示不到一秒,这不是用户友好的方式。

2-) 在第一个 Activity 上使用 AsyncTask。它会在我单击该组件时立即显示,但进度轮不会旋转。进度对话框卡住。

3-) 在第二个 Activity 上使用 AsyncTask onStart() 方法。这是第一种方式的结果。

下面的代码实现了上面的第二种方式,在第一个 Activity 上使用 AsyncTask。

public void toVisitRegister(Event event) { //Switching to the second activity
new startingThread().execute();
Intent toVisitRegister = new Intent(MainCalendar.this, VisitRegister.class);
startActivity(toVisitRegister);
finish();
}

这是AsyncTask

public class startingThread extends AsyncTask<String, String, String> { 
@Override
protected void onPreExecute() {
super.onPreExecute();
startingProgress = new ProgressDialog(MainCalendar.this);
startingProgress.setTitle("Visit Register");
startingProgress.setMessage("Initializing...");
startingProgress.show();
}

@Override
protected String doInBackground(String... params) {
return null;
}

@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
if(MainCalendar.this.startingProgress != null) {
MainCalendar.this.startingProgress.dismiss();
}
}
}

我也试过在onPostExecute中调用startActivity,但是没有用。因此,我正在等待您对这个问题的意见和建议。任何帮助将不胜感激。

谢谢。

最佳答案

I also tried to call startActivity in onPostExecute,

将 Activity 上下文传递给 startingThread AsyncTask,并将您的启动 Activity 代码放入 AsyncTask 的 onPostExecute() 中。

@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
if(MainCalendar.this.startingProgress != null) {
MainCalendar.this.startingProgress.dismiss();
Intent toVisitRegister = new Intent(MainCalendar.this, VisitRegister.class);
mContext.startActivity(toVisitRegister);
mContext.finish();
}
}

此处 mContext 是您当前 MainCalendar Activity 的上下文。

关于android - 切换到另一个 Activity 时进度对话框卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13412515/

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