Timer 定时切换一张图片

greatmind829 2011-12-07 10:40:51


private Timer mTimer = new Timer(true);
private TimerTask mTimerTask;

private ImageSwitcher switcher;

//图片索引
private int index = 0;
//显示的图片资源


private static final String TAG = "timeActivity";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

final int[] imageResourese = new int[]{R.drawable.sunset,R.drawable.water,R.drawable.winter};
switcher = (ImageSwitcher) findViewById(R.id.imageSwitchId);

switcher.setFactory(this);
switcher.setImageResource(R.drawable.sunset);


try {
mTimerTask = new TimerTask()
{
public void run()
{
index ++;
if (index >= imageResourese.length){
index = 0;
}
Log.i(TAG, String.valueOf(index));
switcher.setImageResource(R.drawable.water); //运行这里报错了,不知道为什么,请解答

}
};
} catch (Exception e) {

}

mTimer.schedule(mTimerTask, 5000,3000);
}



定时切换图片时报错,如果用两个按钮,点上一张,下一张的就不会报错。
出现的问题好像是不是同一个线程之中。谢谢了。
...全文
395 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kk14090 2011-12-07
  • 打赏
  • 举报
回复
线程中做ui处理肯定会错的。程序会崩溃的
greatmind829 2011-12-07
  • 打赏
  • 举报
回复
有两种方法可以解决:
1 :使用handler
2 : runOnUiThread()使用这个方法可以实现
ahaso 2011-12-07
  • 打赏
  • 举报
回复
线程中不要做修改ui的东西,发消息给handler处理吧
安卓机器人 2011-12-07
  • 打赏
  • 举报
回复
可以给出错误信息吗
King_at_csdn 2011-12-07
  • 打赏
  • 举报
回复
修改界面果断放在handler中处理呀~ Timer中改成发消息给主线程的handler。让handler去改图片。

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧