Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Android中多次调用方法_Java_Android_Performance_Function_Methods - Fatal编程技术网

Java 如何在Android中多次调用方法

Java 如何在Android中多次调用方法,java,android,performance,function,methods,Java,Android,Performance,Function,Methods,我想问,是否有更好的方法在android中多次调用方法。 但我真正想知道的是,如何延迟显示的内容(“消息1”)呼叫10秒,仅在下一次呼叫后 谢谢 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... showToas("Message 1"); showToas("Message 2"); showT

我想问,是否有更好的方法在android中多次调用方法。 但我真正想知道的是,如何延迟
显示的内容(“消息1”)呼叫10秒,仅在下一次呼叫后

谢谢

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

    ...


    showToas("Message 1");
    showToas("Message 2");
    showToas("Message 3");
    showToas("Message 4");
    showToas("Message 5");
    showToas("Message 6");
    showToas("Message 7");
        ...


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

已更新

这是我设法让它工作的第一步。 给每个方法调用5秒的中断时间,但是我认为有更好的方法来实现这个函数吗?你能给我一些建议吗。谢谢

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);


}
这样试试

 Runnable r2=new Runnable() {
                @Override
                public void run() {
                    // TODO Auto-generated method stub
                     showToas("Message 1");
                }
            };

new Handler().postDelayed(r2,1000);
对其他人也这样做,增加时间延迟

试试这种方法

 Runnable r2=new Runnable() {
                @Override
                public void run() {
                    // TODO Auto-generated method stub
                     showToas("Message 1");
                }
            };

new Handler().postDelayed(r2,1000);

对其他人也这样做并增加时间延迟

您可以使用
定时器
来实现:

//global variable counter
int counter = 1;

Timer t = new Timer();
t.scheduleAtFixedRate(new TimerTask() {

    @Override
    public void run() {
        showToas("Message "+counter);
        counter++;
    }

}, 0, 10000);  //It will be repeated every 10 seconds

希望这能有所帮助。

您可以使用
定时器来实现:

//global variable counter
int counter = 1;

Timer t = new Timer();
t.scheduleAtFixedRate(new TimerTask() {

    @Override
    public void run() {
        showToas("Message "+counter);
        counter++;
    }

}, 0, 10000);  //It will be repeated every 10 seconds
runOnUiThread(new Runnable() {
        public void run() {
            try {
                for(String str : array){
                    showToast(str);
                    Thread.sleep(10000L);
                }
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    });
希望这有帮助

runOnUiThread(new Runnable() {
        public void run() {
            try {
                for(String str : array){
                    showToast(str);
                    Thread.sleep(10000L);
                }
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    });
}

您可以多次调用toastShow(字符串文本),它只会更改toast的内容

}


您可以多次调用toastShow(字符串文本),它只会更改toast的内容

请尝试使用
Handler.postdaly()
Runnable
。您好,我已经更新了代码,请提供建议。感谢您使用
Handler.postdaly()
Runnable
。您好,我已经更新了我的代码,请您提供建议。谢谢,我已经根据您的exmaple更新了我的代码,请您提供建议。您使用的是完全不同的代码。你试过计时器了吗?对不起,我是想问你的。基于我新更新的代码。我能使用定时器吗?嗨,我已经根据你的exmaple更新了我的代码,请你给我建议。您使用的是完全不同的代码。你试过计时器了吗?对不起,我是想问你的。基于我新更新的代码。我能使用定时器吗?嗨,我已经根据你的exmaple更新了我的代码,请你给我建议。谢谢,我已经根据您的exmaple更新了我的代码,请您提供建议。谢谢