我是想实现图片自动翻页的过程,大致的生命周期为:周期开始 -> 点击自动播放 -> 实现翻页 -> 点击暂停 -> 翻页停止,显示当前的页面 -> 点击继续播放 -> 从当前页继续播放 -> 点击暂停 - > 翻页停止 -> //如此循环直至到达最后一张图片 -> 周期结束.run()方法里面只有且仅有一个自动播放的方法:autoPlay();public void autoPlay(){
while(isPlay == true){
//进行翻页,输出提示当前图片页号
}//当外面事件为点击暂停翻页时,isPlay == false,所以我将thread suspend(),thr为实现翻页的线程,也就是在此方法里thr 就是 Thread.currentThread();
if(isPlay == false){
thr.suspend();
}
} 至此,实现“周期开始 -> 点击自动播放 -> 实现翻页 -> 点击暂停 -> 翻页停止,显示当前的页面”的过程.问题就在下面要继续进行翻页时:我用的方法是:点击继续播放后,调用thr.resume();发现线程好像没有运行,看到的图片和图片页号是不变的,为什么???如何实现继续播放呢???谢谢...也不知道大家明白了我的意思了没有,难为大家了....
while(isPlay == true){
//进行翻页,输出提示当前图片页号
}//当外面事件为点击暂停翻页时,isPlay == false,所以我将thread suspend(),thr为实现翻页的线程,也就是在此方法里thr 就是 Thread.currentThread();
if(isPlay == false){
thr.suspend();
}
} 至此,实现“周期开始 -> 点击自动播放 -> 实现翻页 -> 点击暂停 -> 翻页停止,显示当前的页面”的过程.问题就在下面要继续进行翻页时:我用的方法是:点击继续播放后,调用thr.resume();发现线程好像没有运行,看到的图片和图片页号是不变的,为什么???如何实现继续播放呢???谢谢...也不知道大家明白了我的意思了没有,难为大家了....
while(isPlay == true){
//进行翻页,输出提示当前图片页号
}//当外面事件为点击暂停翻页时,isPlay == false,所以我将thread suspend(),thr为实现翻页的线程,也就是在此方法里thr 就是 Thread.currentThread();
if(isPlay == false){
Sysout("第一次suspend()前最多执行到调用下面 thr.suspend();的语句 ");
thr.suspend();
}
Sysout("suspend()后第一次resume()后终于执行到此处,而且仅执行此处");
} 可以看到当你点击暂停后,会有输出“第一次suspend()前最多执行到调用下面 thr.suspend();的语句"的输出,
而接下来的这句话要直至你点击继续后才会输出:“suspend()后第一次resume()后终于执行到此处,而且仅执行此处”
所以,你如果想实现继续翻页的话,用迭代就可以了.实现代码如下:
public void autoPlay(){
while(isPlay == true){
//进行翻页,输出提示当前图片页号
}//当外面事件为点击暂停翻页时,isPlay == false,所以我将thread suspend(),thr为实现翻页的线程,也就是在此方法里thr 就是 Thread.currentThread();
if(isPlay == false){
Sysout("第一次suspend()前最多执行到调用下面 thr.suspend();的语句 ");
thr.suspend();
}
Sysout("suspend()后第一次resume()后终于执行到此处,而且仅执行此处");
autoPlay();//此处迭代.
}