Java 如何在Android中多次调用方法
我想问,是否有更好的方法在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
显示的内容(“消息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更新了我的代码,请您提供建议。谢谢