【发布时间】:2014-09-26 00:52:43
【问题描述】:
我想问一下,是否有更好的方法来多次调用一个方法,每次调用之间有 5 秒的延迟。
但我真正想要的是调用 Toas() 方法大约 7 次,并且使用下面的代码,它看起来不正确。
谢谢大家
@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();
}
【问题讨论】:
-
您希望有什么具体的用例场景?
-
无需嵌套可运行对象或拥有多个处理程序。一个处理程序就足够了。如果所有可运行对象只是显示一个 toast,只需创建一个子类,将消息作为构造函数中的参数。
-
谢谢大家的建议
标签: java android performance timer runnable