• Android Timer 的 schedule()方法定时循环切换图片


    void java.util.Timer.schedule(TimerTask task, long delay, long period)
    第一个参数,是 TimerTask 类,在包:import java.util.TimerTask .使用者要继承该类,并实现public void run() 方法,因为 TimerTask 类 实现了 Runnable 接口。
    第二个参数的意思是,用户调用 schedule() 方法后,要等待这么长的时间才可以第一次执行run() 方法。
    第三个参数的意思就是,第一次调用之后,从第二次开始每隔多长的时间调用一次 run() 方法。

    然后使用该方式实现图片定时循环切换,代码如下:

     1 import java.util.Timer;
     2 import java.util.TimerTask;
     3 
     4 import android.app.Activity;
     5 import android.os.Bundle;
     6 import android.os.Handler;
     7 import android.os.Message;
     8 import android.widget.ImageView;
     9 
    10 public class HandlerActivity extends Activity {
    11 // 要切换的照片,放在drawable文件夹下
    12 int[] images = { R.drawable.img1, R.drawable.img2, R.drawable.img3, };
    13 // Message传递标志
    14 int SIGN = 17;
    15 // 照片索引
    16 int num = 0;
    17 
    18 @Override
    19 public void onCreate(Bundle savedInstanceState) {
    20 super.onCreate(savedInstanceState);
    21 setContentView(R.layout.main);
    22 final ImageView image = (ImageView) findViewById(R.id.image);
    23 final Handler handler = new Handler() {
    24 @Override
    25 public void handleMessage(Message msg) {
    26 // TODO Auto-generated method stub
    27 super.handleMessage(msg);
    28 if (msg.what == SIGN) {
    29 image.setImageResource(images[num++]);
    30 if (num >= images.length) {
    31 num = 0;
    32 }
    33 }
    34 }
    35 };
    36 new Timer().schedule(new TimerTask() {
    37 @Override
    38 public void run() {
    39 // TODO Auto-generated method stub
    40 Message msg = new Message();
    41 msg.what = SIGN;
    42 handler.sendMessage(msg);
    43 }
    44 }, 1000, 500);
    45 }
    46 }
  • 相关阅读:
    MySQL 之 数据操作
    MySQL 之 库操作,表操作
    Python之协程
    IO模式和IO多路复用
    python之线程
    Python--多线程、多进程常用概念
    计算机组成原理
    python基础-守护进程、守护线程、守护非守护并行
    win7旗舰版 安装IIS中出现的问题
    sql 2008数据事务日志已满处理方法
  • 原文地址:https://www.cnblogs.com/_ymw/p/4137246.html
Copyright © 2020-2023  润新知