使用Handler和Timer+Timertask实现简单的图片轮播
布局文件就只放了一个简单的ImageView,就不展示了。
下面是Activity
1 package com.example.administrator.handlerthreadmessagedemo; 2 3 import android.app.Activity; 4 import android.os.Bundle; 5 import android.os.Handler; 6 import android.os.Message; 7 import android.widget.ImageView; 8 import android.widget.TextView; 9 import java.util.Timer; 10 11 12 public class MainActivity extends Activity { 13 14 private int images[] = new int[]{R.drawable.image1,R.drawable.image2,R.drawable.image3}; //存放图片 15 16 private ImageView imageView; 17 private int index = 0; //计算 18 private TextView textView; 19 private Timer timer = new Timer(); 20 private Timertask timertask; 21 22 23 24 @Override 25 protected void onCreate(Bundle savedInstanceState) { 26 27 super.onCreate(savedInstanceState); 28 setContentView(R.layout.activity_main); 29 imageView = (ImageView) findViewById(R.id.imageView); 30 textView = (TextView) findViewById(R.id.title); 31 timertask = new Timertask(); //放回到Timer中 32 timer.schedule(timertask,0,1000); //使用Timer 每隔1秒发送一次空消息 33 } 34 35 private Handler mhandler = new Handler(){ 36 @Override 37 public void handleMessage(Message msg) { 38 super.handleMessage(msg); 39 if(msg.what == 0x111){ 40 index++; 41 imageView.setBackgroundResource(images[index % 3]); 42 } 43 } 44 }; 45 46 class Timertask extends java.util.TimerTask{ 47 48 @Override 49 public void run() { 50 mhandler.sendEmptyMessage(0x111); 51 } 52 } 53 54 }
新人学习中,也不太会总结,有做的不对的地方希望各位大神指出,谢谢。