Android控件postDelayed用法,View自带的定时器

来源:互联网 发布:kanahei知乎 编辑:程序博客网 时间:2024/06/10 10:35
转:http://blog.csdn.net/wangshihui512/article/details/50768294

有一个需求是这样的,点击加关注按钮后,执行关注操作,成功后按钮文字变为“已关注”,保持3秒,三秒后按钮文字便问“取消关注”,点击后执行取消关注的操作

可以使用定时器实现,但是使用View的posyDelayed更加方便

源码如下:

Android.view.View

 public boolean postDelayed(Runnable action, long delayMillis) {        final AttachInfo attachInfo = mAttachInfo;        if (attachInfo != null) {            return attachInfo.mHandler.postDelayed(action, delayMillis);        }        // Assume that post will succeed later        ViewRootImpl.getRunQueue().postDelayed(action, delayMillis);        return true;    }
testTv.postDelay(new Runnable(){


   

  public void run()

  {

  //do something

  }

   

},2*1000);

tvAttentionTa.setText("已关注");/*3秒内设置不可点击*/tvAttentionTa.setClickable(false);tvAttentionTa.postDelayed(new Runnable() {    @Override    public void run() {        /*3秒后可以点击*/        tvAttentionTa.setClickable(true);        tvAttentionTa.setText("取消关注");    }},3*1000);
原创粉丝点击