Android Handler 学习小记

今天学习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);


没了

猜你喜欢

转载自blog.csdn.net/qq_40802310/article/details/79669798
今日推荐