gpt4 book ai didi

java - 带线程的对话框消息

转载 作者:太空宇宙 更新时间:2023-11-04 14:15:10 25 4
gpt4 key购买 nike

我正在开发 Android 应用程序,其中有一个登录按钮,单击它会在线程中从 Internet 获取一些数据并将其显示在下一页中。当它获取数据时,我显示一个对话框,显示一条消息“正在加载...”,但是当我单击按钮时,线程在后台执行,但没有显示对话框:(页面看起来像是被击中了。这里是我正在使用的代码段。

                   showdialog();

//**********************
Thread t = new Thread(){
public void run(){
new Downloader().DownloadHandler();
}
};

t.start();

t.join();
_dialog.cancel();
Intent intent = new Intent(context, MainActivity.class);
startActivity(intent);
}
public void showdialog()
{
_dialog = ProgressDialog.show(this, "Loading.....", "Please wait, we are on job.", true);
}

请分享是否有任何其他更好的方式来实现相同/或任何其他最佳方式来向用户展示内容正在路上。请让我知道他们是否有其他更好的。

最佳答案

它没有显示,因为

 t.join();

使用join,您将暂停 ui 线程并使其等待,直到 t 完成执行。您应该使用另一种方法,例如您可以实现委托(delegate)模式,以通知 UI 线程您的线程已完成执行,并且您想要关闭对话框并启动新的 Activity 。

关于java - 带线程的对话框消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27842678/

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