今天学习Handler 折腾了一整天,总算成功了。开心,在此记录.
Handler 一个是刷新界面时用来更新UI组件的类,因为Android为了线程安全,并不允许我们在UI线程外操作UI。
现在结合计时器Timer定时更改IingView 图片形成动图效果。
结合代码稍稍解释下
public class MainActivity extends Activity { ImageView img;//使用必须放在前面 //定义切换的图片的数组id 图片不能用数字rename,图片in drawable not in drawable-24 int imgids[] = new int[]{ }; int imgstart = 0; @SuppressLint("HandlerLeak") final Handler myHandler = new Handler() { @Override //重写handleMessage方法,根据msg中what的值判断是否执行后续操作 public void handleMessage(Message msg) { if (msg.what == 0x123) { img.setImageResource(imgids[imgstart++ %3]); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); img = (ImageView) findViewById(R.id.imgchange); new Timer().schedule(new TimerTask() { @Override public void run() { myHandler.sendEmptyMessage(0x123); } }, 0, 200);
}
没了