2011-04-01 90 views
0

我试图在输入活动时显示一系列图像。
显示的图像应该在约1秒后改变,按下按钮应该暂停图像切换并且按钮的切换应该能够再次切换。暂停按钮应停止切换图像

我已经使用CountDownTimer通过onTick()rountine切换图像;但是我不确定如何创建暂停按钮功能。也许使用CountDownTimer不是最好的方法?

有什么建议吗?

由于提前, Ĵ

+0

可能重复http://stackoverflow.com/questions/5508773 /暂停按钮应该停止图像从开关手机) – 2011-04-01 04:38:19

回答

0

您不能暂停CountDownTimer但你可以.cancel()方法将其取消。然后,切换时只需创建另一个CountDownTimer对象并从最后一个图像开始。

另一种方法是使用postDelayed可运行它可以递归调用自己,直到停顿了一下:

public void myTimer(){ 
    new Handler().postDelayed(new Runnable() {   
    @Override   
    public void run() {    
     //here call the next slide 
     if(!pause) myTimer();    
     }  
    }, 5000); 
} 
[暂停按钮应该切换光圈图片...的Android(的
+0

我试图使用postDelayed runnable,因为你建议......在活动中,我应该把它放在哪里?在onCreate内?或作为活动内部的独立任务? 是这样的递归调用... this.postDelayed(); – 2011-04-19 16:46:45

+0

我已经编辑了代码,所以这个方法,你可以每5秒看到自己的呼叫(递归)。如果你设置暂停varibale为TRUE,那么它将停止。您将它放在onCreate方法下方,但仍在活动类中。您将pause varibale定义为boolean,然后调用此方法myTimer();在onCreate。您只需输入代码或调用其他方法在run()中执行幻灯片。 – Lumis 2011-04-19 22:41:21

+0

超级!现在工作很好。我在onCreate()中使用pButton.setOnClickListener(...)来修改暂停变量。默认情况下,暂停设置为false。按钮切换两次后,暂停变量返回到false状态,并且必须调用myTimer()才能让幻灯片再次切换。干杯:) – 2011-04-22 17:59:25