java-在循环中创建唯一的postDelayed Runnable

java-在循环中创建唯一的postDelayed Runnable,第1张

概述我正在模拟帧动画;我都工作了一个问题.我有一个for循环,其中在每次迭代中,它都会在延迟后更改ImageView的Image.for(inti=1;i<13;i++){if(stop==false){StringimgName="b"+Integer.toString(i);id=getResources(

我正在模拟帧动画;我都工作了一个问题.
我有一个for循环,其中在每次迭代中,它都会在延迟后更改ImageVIEw的Image.

for(int i = 1; i <13; i++){            if (stop== false){                String imgname = "b"+ Integer.toString(i);                  ID = getResources().getIDentifIEr(imgname, "drawable", getPackagename());                Handler handlerTimer = new Handler();                handlerTimer.postDelayed(new Runnable(){                    public voID run() {                       vIEw.setimageDrawable((getResources().getDrawable(ID)));                              }}, 300);            }        }

问题是run()不会在每次迭代时都刷新.它只能工作一次.

如何刷新或创建新的run()?

我愿意以任何其他方式来做到这一点.

任何意见,将不胜感激.

解决方法:

步骤#1:将Runnable定义为活动的数据成员(或此代码所在的位置)

步骤#2:不需要时转储处理程序-postDelayed()也在VIEw上实现

步骤#3:创建一个执行postDelayed()调用的助手方法-在这里我将其称为foo()-并在不调用postDelayed()的情况下调用foo()

步骤#4:在Runnable的run()中,再次调用foo()以将Runnable重新计划为另一个延迟时间

总结

以上是内存溢出为你收集整理的java-在循环中创建唯一的postDelayed Runnable全部内容,希望文章能够帮你解决java-在循环中创建唯一的postDelayed Runnable所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1095894.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存