Java 建议采用哪种方式更新多个文本视图,其间暂停1000毫秒

Java 建议采用哪种方式更新多个文本视图,其间暂停1000毫秒,java,android,multithreading,android-asynctask,sleep,Java,Android,Multithreading,Android Asynctask,Sleep,我有一个活动,其中有一个公共的空白,它执行很多代码,并在运行过程中用一些关于流程的信息更新一些文本视图。我希望能够在每次更新textview时暂停代码大约一秒钟,并在GUI上显示更新。所期望的结果是一系列平稳的变化,而不是所有事情同时发生 我读到这样做的一种方法是使用一个带有延迟的处理程序,但是当我需要多次这样做,并且需要将它们堆叠在一起时,这是最好的方法吗 我还有一个单独的异步任务正在运行,我希望它即使在代码的其余部分暂停时也能继续运行 实现所需结果的最佳方法是什么?您可以按现在的方式计算代码

我有一个活动,其中有一个公共的空白,它执行很多代码,并在运行过程中用一些关于流程的信息更新一些文本视图。我希望能够在每次更新textview时暂停代码大约一秒钟,并在GUI上显示更新。所期望的结果是一系列平稳的变化,而不是所有事情同时发生

我读到这样做的一种方法是使用一个带有延迟的处理程序,但是当我需要多次这样做,并且需要将它们堆叠在一起时,这是最好的方法吗

我还有一个单独的异步任务正在运行,我希望它即使在代码的其余部分暂停时也能继续运行


实现所需结果的最佳方法是什么?

您可以按现在的方式计算代码中的所有数据,但不要更新任何UI元素(如TextView),然后创建一个新线程并使其更新一个TextView,然后将其延迟1000毫秒1秒

{
    //Your calculations take place here
    //...

    //Make your class extend Runnable, or create a new Runnable class - I hope you are familiar with threads
    Thread thread = new Thread(this);
    thread.start();
}

run()
{
    //Update UI - when updating UI from outside main thread use the view.post(Runnable) method instead of directly changing it's text
    textView.post(new Runnable() 
        {
            public void run() 
            {
                textView.setText(yourText);
            } 
        }

    //Make thread sleep for 1000ms (or 1sec)
    try 
    {
        Thread.sleep(1000);
    } catch(InterruptedException ex) {}

    //Here you can update more UI elements and after each one make Thread delay again for 1 second
    //...
}

我还没有和训练员一起工作过,所以我不能说这是否更好,但我知道这很有效

你听说训练员是你的朋友