gpt4 book ai didi

java - ProgressDialog 停不下来

转载 作者:行者123 更新时间:2023-11-30 04:46:36 26 4
gpt4 key购买 nike

我的应用程序正在从网络服务器加载一些数据。这次我想要一个进度对话框以避免应用程序用户出现黑屏。

 Button ok = (Button) findViewById(R.id.ok);
ok.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
MyDialog = ProgressDialog.show( yassou.this, " " , " Loading. Please wait ... ", true);
MyDialog.show();
// myIntent.username.getText();
try {

Send();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Status();
//MyDialog=null;
}

});

这是 btn 女巫“onclick”正在加载数据。Send();是一种将用户输入的一些数据发送到我的服务器的方法,而 Status(); 是将我引导到新页面的第二种方法。不幸的是,当我按下 ok 按钮时,应用程序首先转到第二页,然后出现一个不停的进度对话框。请问我哪里错了?

最佳答案

当您不再需要对话框时,您必须关闭它们。它会在您转到“第二页”后出现,因为所有 onClick() 代码都在 UI 发生更改之前执行。

AsyncTask 或线程中执行所有 Send()Status() 很重要(在最后,将关闭对话框),因为在执行该代码时,UI 将被锁定,并且无法显示对话框。此外,如果作业太长,您可能会收到应用程序无响应 (ANR) 消息。

一个好的规则是,在 UI 线程中执行的任何方法的持续时间应少于 200 毫秒,以保证响应速度并且不会导致用户 react 迟钝。

Creating Dialogs (来自安卓开发)

关于java - ProgressDialog 停不下来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4769953/

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