2 bluetooth99 bluetooth99 于 2013.01.07 13:43 提问

android中的延迟动作

代码实现预期功能是:在应用开始五秒钟后,变化imageView的图片。

public class MainActivity extends Activity {
ImageView screen;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    screen=(ImageView)findViewById(R.id.imageView1);

    screen.setImageResource(R.drawable.ic_launcher);

}
}

应该怎么成功延迟?谢谢帮忙

3个回答

xiaoxiaobian3310903
xiaoxiaobian3310903   2013.01.07 15:43
已采纳

可以通过Handler来实现
Handler定义:

class ReadDataHandler extends Handler{
    @Override
    public void handleMessage(Message msg) {
        // TODO Auto-generated method stub
        updateBlackBackground();
        updateWhiteBackground();
        super.handleMessage(msg);
    }
}

Handler使用:

private ReadDataHandler mReadDataHandler;
mReadDataHandler = new ReadDataHandler();

需要处理时发送消息:

Message lMessage = new Message();
mReadDataHandler.sendMessageDelayed(lMessage, 5000);
franzhong
franzhong   2013.01.07 13:52

不知多线程能不能满足你呢,这些延迟刷新的要放到新的线程里才不对主进程造成阻塞

 new Thread(){  
        public void run(){  
            //sleep(5000);
            //refreshSthHere();
        }  
    }.start();  
cytown
cytown   2013.01.07 13:52

几种方式,最常用的是:
1. handler.sendMessageDelayed or handler.postRunnableDelayed
2. alarmmanager.set

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android 延时操作的三种方式
在Android开发中我们可能会有延时执行某个操作的需求,例如我们启动应用的时候,一开始呈现的是引导页面,3秒后进入主界面,这就是一个延时操作。下面是实现延时操作的三种方法:一、使用线程的休眠实现延时操作new Thread(new Runnable() { @Override public void run() { Th
cocos2dx延时动作DelayTime,自己写一个定时器等
cocos2dx中的定时动作: DelayTime: ①组合动作,先在一个action中放一个函数,然后在延时动作中调用这个action,最后由对象执行这个延时动作 //第一个action,里面放一个回调方法 auto cutAction = CallFunc::create(CC_CALLBACK_0(LoadingLayer::callback, this)); //第二个actio
cocos2dx之如何延时当前动作
在执行某个行为动作的时候,有时候根据需求,可能需要暂停一段时间,然后继续执行,这个时候我们可以用到,CCDelayTime这个类,它是CCActionInterval的派生类。 好,现在我们来看一下如何创建一个延时的行为动作,代码如下: void MyActionCCDelayTimeLayer::initLayer() { CCSize size = CCDirector::shar
cocos2d-x 瞬时动作/延时动作
第一部分:动作概述 动作可以说构成了cocos2dx的精华(你看动作类有多少子类就知道了)。 动作是什么?动作可以理解为指令,这些指令由节点执行。 动作由节点(node)执行,该节点执行动作的时候,他的所有子节点跟着执行,这一特性是非常有用的。 执行动作的代码非常简单,先生成,然后让节点执行: ? 1 2 CCActi
cocos2d-x 延迟执行一段代码1 顺序执行动作+延迟动作+CallFunc
过三秒之后,创建精灵并显示在屏幕上 auto vSize = Director::getInstance()->getVisibleSize(); auto delayTime = DelayTime::create(3.0f); auto func = CallFunc::create([this, vSize]() { auto sp = Sprite::create("b
Android--延迟页面跳转实现方法
方法一: new Handler(new Handler.Callback() { //处理接收到的消息的方法 @Override public boolean handleMessage(Message arg0) { //实现页面跳转 startActivi...
【Cocos2d-X开发学习笔记】第17期:动作类之跟随动作、可调整速度动作以及动作延时的使用
一、跟随动作 跟随动作CCFollow是一个节点跟随另外一个节点的动作。 二、可调整速度动作       可调整速度动作CCSpeed不是一个独立的动作,可以把它理解为是对目前动作的“包装”,经过这个“包装”以后, 就可以实现“慢动作”和“快进”的效果。       使用CCSpeed来处理很方便 三、动作延时
cocos2djs 延时执行
this.scheduleOnce(function(){ this.addChild(Menugobtn);//要暂停执行的代码 }, 10);
Unity FMOD音效抖动和延迟问题解决方案
我们的项目之前使用FMOD移植到Android平台上时,有非常严重的延迟问题,之后通过更新新插件版本以及针对个别手机进行特殊设置解决了音效的延迟问题。下面来讲述声音延迟问题的来源和相应设置。 问题描述 声音延迟问题可以分为两种:一种是抖动问题,例如一个音效本来是如下的序列:1234567,抖动的效果就是1-2-3-4-5-6-7,其中'-'表示声音的停顿,就像游戏界面的卡帧现象一箱。另
unity时间延迟方法总结(新人勿喷)
1.if(Time.realtimeSinceStartup - timer > 1.0f) Updata运行; 2.timer += Time.deltaTime;Updata运行; 3.for(int i = 0; i yield return new WaitForEndOfFrame();