gpt4 book ai didi

java - 如何在特定时间后关闭 ProgressDialog

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

如下面的代码所示,如​​果存在 Progressdialoge,我想为其设置一条新消息,并在 3 秒后将其关闭。

在运行时,发生的情况是,旧消息保持设置为 progressdialog 并持续 3 秒,然后 progressdialog 关闭,而新消息没有出现放。有什么建议吗?

代码:

if ( (location != null) && (mProgreeDialoge != null) ){
mProgreeDialoge.setMessage(PROGRESS_DIALOGUE_MSG01);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

更新:

if ( (location != null) && (mProgreeDialoge != null) ){
mProgreeDialoge.setMessage(PROGRESS_DIALOGUE_MSG01);
new Handler().postDelayed(new Runnable() {

@Override
public void run() {
// TODO Auto-generated method stub
mProgreeDialoge.dismiss();
}
}, FREEZE_PROGRESS_DIALOGUE_TIME);

最佳答案

我将为此使用一个Handler,并让它延迟 3000 毫秒发布消息。

下面是一个简单的 Handler 实现,您也可以使用 int 参数和 obj 成员来扩展/自定义它:

private final Handler mHandler = new Handler()
{
@Override
public void handleMessage(Message msg)
{
super.handleMessage(msg);
if (mProgreeDialoge.isShowing())
mProgreeDialoge.dismiss();
}
};

然后在显示进度对话框后,只需延迟 3 秒向处理程序发送一条消息:

mProgreeDialoge.setMessage(PROGRESS_DIALOGUE_MSG01);
mHandler.sendMessageDelayed(new Message(), 3000);

关于java - 如何在特定时间后关闭 ProgressDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23747294/

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