Android如何多次调用方法,并在它们之间有延迟 [英] Android How to call a method multiple times with a delay between them

查看:122
本文介绍了Android如何多次调用方法,并在它们之间有延迟的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想问一下,如果有更好的方法可以多次调用一个方法,每次调用之间有5秒的延迟。

I would like to ask, if is there a better away to call a method multiple times giving a 5 sec delay between each call.

但我真的想要的是调用Toas()方法大约7次,并且使用下面的代码,它看起来不正确。

But I really want is to call the Toas() method about 7 times, and with my code below, it doesnt look right.

谢谢你们

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ...

CallMultipleToast();


........



    private void CallMultipleToast(){

             Runnable call_1 = new Runnable() {
                 @Override
                 public void run() {
                     Toast("Message one");


                         Runnable call_2 = new Runnable() {
                             @Override
                             public void run() {
                                 Toast("Message two");


                                     Runnable call_3 = new Runnable() {
                                         @Override
                                         public void run() {
                                             Toast("Message three");
                                             //CAN I ADD MORE
                                         }
                                     };//end call_3
                                     new Handler().postDelayed(call_3, 5000);


                             }
                         };//end call_2
                         new Handler().postDelayed(call_2, 5000);

                 }
             };//end call_1
             new Handler().postDelayed(call_1, 5000);


    }





    private void Toast(String message){
        Toast.makeText(this, message, Toast.LENGTH_LONG).show();
    }


推荐答案

也许你可以这样做这个:

maybe you can do it like this :

private void CallMultipleToast(){
  Thread t = new Thread(){
        @Override
        public void run(){
            try {
                for(i=0;i<7;i++){
                   Toast("Message "+(i+1));
                   sleep(5000);
                }

            } catch (InterruptedException ex) {
                Log.i("error","thread");
            }
        }
    };
   t.start();
 }

这篇关于Android如何多次调用方法,并在它们之间有延迟的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆