我正在使用runnable和handler。我想同时旋转视图。
这是我的来源:
public void rotateImage(final View myView, final int size) {
myHandler = new Handler();
runnable = new Runnable() {
@Override
public void run() {
int time = (2 * 60 * 1000) / 150;
if (size > time) {
myHandler.removeCallbacks(this);
return;
}
myView.setRotation(myView.getRotation() + size);
rotateImage(myView, size);
}
};
myHandler.postDelayed(runnable, 150);
}
它正常工作,我可以每150毫秒旋转一次视图,但现在我想暂停/停止线程,例如两分钟后。
我该怎么做?
答案 0 :(得分:0)
你可以计算你需要达到2分钟的迭代次数,并改变你可以这样运行
@Override
public void run() {
if (currentIteration > mTotalIterations) {
myHandler.removeCallbacks(this);
currentIteration = 0;
return;
}
++currentIteration;
myView.setRotation(myView.getRotation() + size);
rotateImage(myView, size);
myHandler.postDelayed(this, 150);
}
你必须只创建一个runnable并且只创建一个处理程序