android gridview item切换布局Timer问题

 最近做了一个小demo,主要功能是当长按一个item的时候拖动到指定区域3秒后,可以切换到另一个页面。当用到timer 控件的时候问题发生了,当我拖动到指定区域后,可能马上就显示另外一个布局了。

 

private int count;
	private boolean isStop;
	private ImageView iv;

	private void onDrag(int x, int y) {
		img = ((GridViewTest) mContext).getImagev();

		Log.v("x", x + "----");
		Log.v("y", y + "----");
		if (x > 100 && y > 700) {
			if (mTimer == null) {
				Log.v("new", "new");
				mTimer = new Timer();
			}
			mTimerTask = new TimerTask() {
				@Override
				public void run() {
					count++;
					Log.e("count", count + "========");
					if (count >= 3) {
						isStop = true;
						mTimer.cancel();
						mTimer = null;
						count = 0;
						Message msg = new Message();
						msg.what = 1;
						mHandler.sendMessage(msg);
					}
				}
			};
			if (isStop == false) {
				Log.v("12323", "123123");
				mTimer.schedule(mTimerTask, 0, 1000);
							}

研究了半天发现到了指定区域后,每次拖动都会Mtimer都会发送,

这样解决办法就有了,加一行

if (isStop == false) {Log.v("12323", "123123");mTimer.schedule(mTimerTask, 0, 1000);isStop = true;}

;让它互斥,就完美解决了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值