Java 如何在Android中设置文本之间的延迟

Java 如何在Android中设置文本之间的延迟,java,android,delay,wait,seconds,Java,Android,Delay,Wait,Seconds,如何设置bt.setText(“№")? Java有一个Timer类,它可能会做你想做的事情。 您可能希望使用TimerTask类生成基本/空任务。 然后使用计时器运行任务 Java有一个Timer类,它可能会执行您想要的操作。 您可能希望使用TimerTask类生成基本/空任务。 然后使用计时器运行任务 试试这个: 使用postdayed private static int SPLASH_TIME_OUT = 1000; if(bt.equal("3")){ new

如何设置bt.setText(“№")?


Java有一个Timer类,它可能会做你想做的事情。 您可能希望使用TimerTask类生成基本/空任务。 然后使用计时器运行任务


Java有一个Timer类,它可能会执行您想要的操作。 您可能希望使用TimerTask类生成基本/空任务。 然后使用计时器运行任务

试试这个:

使用
postdayed

 private static int SPLASH_TIME_OUT = 1000;

  if(bt.equal("3")){
        new Handler().postDelayed(new Runnable() {

                @Override
                public void run() {

                // This method will be executed once the timer is over 
                bt.setText("2");
                }
            }, SPLASH_TIME_OUT);  
       }
    ...
    //You can continue like that.
试试这个:

使用
postdayed

 private static int SPLASH_TIME_OUT = 1000;

  if(bt.equal("3")){
        new Handler().postDelayed(new Runnable() {

                @Override
                public void run() {

                // This method will be executed once the timer is over 
                bt.setText("2");
                }
            }, SPLASH_TIME_OUT);  
       }
    ...
    //You can continue like that.

由于无法在UI线程上调用Thread.sleep(只显示最终结果),因此应在其他线程上执行此操作,例如:

关于建造商:

private Handler handler;
public void onCreate(Bundle x) {
     //super and get bt
     final Button bt = findViewById(R.id.button);
     handler = new Handler() {
           public void handleMessage(Message msg) {
                if(msg.what == 0)
                     bt.setText("Click!");
                else
                     bt.setText(String.toString(msg.what));
           }
     }
}

public void buttonOnClick (View button) {
   final Button bt = findViewById(R.id.button);
   bt.setText("3");
   //wait 1 second
   handler.sendEmptyMessageDelayed(2, 1000);
   //wait 2 second
   handler.sendEmptyMessageDelayed(1, 2000);
   //wait 3 second
   handler.sendEmptyMessageDelayed(0, 1000);
   bt.setText("Click!");
}

请注意,我确实使用了msg.what这是此类的标识符,但您可以创建一条带有obj参数的消息,稍后可以使用。

因为您不能在UI线程上调用Thread.sleep(只显示最终结果),您应该在其他线程上执行此操作,例如:

关于建造商:

private Handler handler;
public void onCreate(Bundle x) {
     //super and get bt
     final Button bt = findViewById(R.id.button);
     handler = new Handler() {
           public void handleMessage(Message msg) {
                if(msg.what == 0)
                     bt.setText("Click!");
                else
                     bt.setText(String.toString(msg.what));
           }
     }
}

public void buttonOnClick (View button) {
   final Button bt = findViewById(R.id.button);
   bt.setText("3");
   //wait 1 second
   handler.sendEmptyMessageDelayed(2, 1000);
   //wait 2 second
   handler.sendEmptyMessageDelayed(1, 2000);
   //wait 3 second
   handler.sendEmptyMessageDelayed(0, 1000);
   bt.setText("Click!");
}
请注意,我确实使用了msg.what这是此类的标识符,但您可以使用obj参数创建一条消息,以后可以使用。

使用msg.what这是一种有效的方法。

Observable.interval(1L, TimeUnit.SECONDS)
         .take(2) // how many you want. if you want it infinite just delete this
         .observeOn(AndroidSchedulers.mainThread())
         .subscribeOn(Schedulers.io())
         .subscribe((l) -> {
               text.setText();//According to number
         }, (t) -> {
               //Handle Error
         });
使用您可以高效地完成此任务。

Observable.interval(1L, TimeUnit.SECONDS)
         .take(2) // how many you want. if you want it infinite just delete this
         .observeOn(AndroidSchedulers.mainThread())
         .subscribeOn(Schedulers.io())
         .subscribe((l) -> {
               text.setText();//According to number
         }, (t) -> {
               //Handle Error
         });

你只需要给出完整的答案。你不想让OP尝试一些东西。OP将如何学习?这是显示处理程序机制的唯一方法,只运行消息构造函数部分,我发布了,因为其他人只会使用postDelayed,使用Runnable,而处理程序本身可以是一个消息宿主。为什么消息是红色的?我是一个complete n00b(其中??它是红色的吗?处理程序被设计为队列消息的主机。计时器没有帮助(从长远来看)对于线程间的消息传递,而处理程序是这样做的。你只需给出完整的答案。你不想让OP尝试一些东西。OP将如何学习?这是显示处理程序机制只处理消息构造函数部分的唯一方法,我发布了,因为其他人只会使用postDelayed,它使用Runnable,而andler本身可以是一个消息主机。为什么消息是红色的?我是一个完整的n00b(其中?它是红色的吗?处理程序被设计成一个队列消息主机。计时器(从长远来看)对线程间并发的消息传递没有帮助,而处理程序却有帮助。