gpt4 book ai didi

android - 是否有与 ASP.NET 的 DoEvents() 等效的 Android?

转载 作者:太空狗 更新时间:2023-10-29 13:24:58 28 4
gpt4 key购买 nike

我有一个 Android 应用程序,我想在开始大量繁重的数字运算时显示“正在处理...”消息,然后在处理完成时显示“已完成”。我尝试这样的事情:

TextView T = (TextView)findViewById(R.id.TheStatusView);
T.setText("Running");
T.invalidate();
// lots of number crunching
T.setText("Completed");

正如你们中的一些人现在可能已经猜到的那样,“正在运行”消息从未出现,因为应用程序忙于处理数字,无暇重绘 TextView。

在 ASP.NET 中,我会做类似的事情:

T.Text = "Running";
T.Refresh();
Application.DoEvents();

然后文本会被刷新。Android 中是否有等效项,或者我是否被困住了?

最佳答案

对于那些在家玩并希望做同样事情的人,这是我所做的:

TextView T = (TextView)findViewById(R.id.statusTextView);
new Thread(new Runnable() {
public void run() {
T.post(new Runnable() {
public void run() {
T.setText("Processing Part 1");
}
});
DoTheHardcoreProcessing_Part1();
T.post(new Runnable() {
public void run() {
T.setText("Processing Part 2");
}
});
DoTheHardcoreProcessing_Part2();
T.post(new Runnable() {
public void run() {
T.setText("Finished");
}
});
}
}).start();

这将按顺序:

(1) 显示“Processing Part 1”

(2)执行DoTheHardcoreProcessing_Part1()中的代码

(3) 显示“Processing Part 2”

(4)执行DoTheHardcoreProcessing_Part2()中的代码

(5) 显示“完成”

关于android - 是否有与 ASP.NET 的 DoEvents() 等效的 Android?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22522035/

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