关于线程问题。

lianghao_721 2012-07-12 11:15:58
首先惭愧的说下。我不会线程啊。。。。。。。



当点击按钮的时候,首先是一段frame动画。定时结束动画,stop之后想隐藏其在xml当中的ImageView


当时在定时器里边就报错了。 线程的话该如何解决呢。


android当中子线程更新UI,如果做呢。。。



拜谢。


image3 = (ImageView) findViewById(R.id.image3);
image = (ImageView) findViewById(R.id.imageId);// 显示动画的imageview
image.setBackgroundResource(R.drawable.iamge);// 设置显示动画的image的背景资源参数是int,就是你自己写的frame.xml,里面是所有相关的图片
attackAnimation = (AnimationDrawable) image.getBackground();

btn3 = (Button) findViewById(R.id.baifo_btn3);
btn3.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
image.setVisibility(View.VISIBLE);
image3.setVisibility(View.INVISIBLE);
attackAnimation.start();
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
attackAnimation.stop();
image.setVisibility(View.INVISIBLE);
image3.setVisibility(View.VISIBLE);
}
};
timer.schedule(task, 1000 * 8); // 定时关闭
}
});
...全文
67 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
SimulateC 2012-07-16
  • 打赏
  • 举报
回复
自己顶一下
ldoublem 2012-07-12
  • 打赏
  • 举报
回复
用thread开线程,UI用hanlder更新,网上资料很多关于线程的你可以去看看,android里面也有很多方法实现
hvk687 2012-07-12
  • 打赏
  • 举报
回复
还有,楼主的头像我很喜欢,哈哈
hvk687 2012-07-12
  • 打赏
  • 举报
回复
你的错误是,不要在timer thread中去更新UI,放在主线程中去更新UI.不然会exception.
写一个Handler,然后timer中post message到hanlder, 在handler中更新UI.
longer262110 2012-07-12
  • 打赏
  • 举报
回复
子线程更新主UI用hanlder即可,建议看下那方面的资料
longer262110 2012-07-12
  • 打赏
  • 举报
回复
你这个定时器是每隔8秒执行一次那个结束任务,是循环的,肯定会有空指针异常出现。
不需要定时器,线程休眠8秒然后结束即可,不需要新启线程。

80,350

社区成员

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

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