【发布时间】:2016-11-14 19:54:59
【问题描述】:
我正在构建我的第一个 android 应用程序,并且我正在尝试制作一个记忆游戏。无论如何,我需要让一组按钮改变颜色1秒钟,然后按顺序返回到原来的颜色,例如:button1变为黄色,保持1秒钟然后返回灰色,然后button2变为黄色1 秒然后返回,依此类推。我尝试使用处理程序,但它始终仅在最后一次迭代后才有效,这是我的代码:
for (i = 0; i < 9; i++) {
buttonList.get(i).setBackgroundColor(Color.YELLOW);
runnable =new Runnable(){
@Override
public void run() {
buttonList.get(i).setBackgroundColor(Color.GRAY);
}
};
handler.postDelayed(runnable,1000);}
我做错了什么?
编辑 找到了怎么做。首先我需要创建一个可运行的类,它接受参数 ex MyRunnable 实现 Runnable(使用 Runnable 接口),然后编写一个使用这个参数的方法,我不能这样做常规的,因为它取决于 i 并且 i 随迭代而变化。
【问题讨论】:
-
因为十次迭代完成的速度快于 1 秒
标签: android loops android-handler