将ImageView更改几秒钟并暂停UI

时间:2011-12-05 01:07:20

标签: android multithreading imageview runnable postdelayed

抱歉,我一直在努力调整令牌,但不知怎的,我无法管理这个令牌。

我有以下代码:

  timer.schedule(new TimerTask(){

     runOnUiThread(new Runnable() {

      public void run(){
      SplashImage.setImageDrawable(aktieknop);}

      });

  },SplashTime);
  }

像这样代码'有效':

  timer.schedule(new TimerTask(){

    // runOnUiThread(new Runnable() {

      public void run(){
      SplashImage.setImageDrawable(aktieknop);}

    //  });

  },SplashTime);
  }

你能帮我解决这个愚蠢的问题吗?非常感谢!

2 个答案:

答案 0 :(得分:0)

您必须在runOnUIThread()方法中从run方法中调用此代码行“SplashImage.setImageDrawable(nSplashImage);”,如下所示:

runOnUiThread(new Runnable() {
public void run() {
    SplashImage.setImageDrawable(nSplashImage);
}

});

这是因为您无法在非UI线程上更改UI组件。

答案 1 :(得分:0)

对于启动画面,您可以使用处理程序并发送延迟消息。

Handler splashHandler = new Handler() {

    @Override
    public void handleMessage(Message msg) {
             super.handleMessage(msg);
              //Here you can do what ever you want

           }
         };

int SPLASHTIME = 2000; //您的愿望

splashHandler.sendMessageDelayed(msg, SPLASHTIME);