gpt4 book ai didi

java - AlertDialog 在方法 insde 线程完成之前显示 Android Java

转载 作者:行者123 更新时间:2023-11-30 00:04:56 25 4
gpt4 key购买 nike

应用中的第一个 Activity 在启动主 Activity 之前检查表和数据是否正确加载。

如果没有,它会使用 volley 连接到服务器并加载数据和图像,然后要求用户重新启动应用。

问题是:AlertDialog 在方法完成加载之前直接显示“消息加载完成”。

我在 onCreate 方法中创建了一个线程,并将所有方法放入其中,但同样的问题仍然存在。

我的问题是:如何在方法完成数据加载后显示 alertDialog

这是我的代码:

    if(! (checkTables()&&checkData())){
progressDialog.show();
new Thread(new Runnable() {
@Override
public void run() {

fillSamples();
fillExams();
fillQuestions();
fillSubQuestions();
}
}).start();
progressDialog.dismiss();
AlertDialog.Builder builder=new AlertDialog.Builder(SplashScreen.this);
builder.setMessage("Loading Data Complete Please restart your App");
builder.setCancelable(false);
builder.setPositiveButton("Restart", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
System.exit(1);
}
});
AlertDialog dialog=builder.create();
dialog.show();
}

最佳答案

尝试使用 AsyncTask 而不是 Thread。更多信息 Threads and AsyncTask

if(! (checkTables()&&checkData())){
GetData.execute();
}
class GetData extends AsyncTask<Void, Void,Void> {

@Override
protected void onPreExecute() {
super.onPreExecute();
//Add your progress dialog.
progressDialog.show();
}

@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
AlertDialog.Builder builder=new AlertDialog.Builder(SplashScreen.this);
builder.setMessage("Loading Data Complete Please restart your App");
builder.setCancelable(false);
builder.setPositiveButton("Restart", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
System.exit(1);
}
});
AlertDialog dialog=builder.create();
dialog.show();
}
}

@Override
protected Void doInBackground(Void... voids) {
fillSamples();
fillExams();
fillQuestions();
fillSubQuestions();
return null;

}
}

关于java - AlertDialog 在方法 insde 线程完成之前显示 Android Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49191298/

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