用两次单机事件模拟双击事件

双击事件的本质就是两次单击事件,这两个单击事件的发生时间间隔短,就有一种双击事件的感觉了,下面是模板代码,随用随copy:

 view.setOnClickListener(new OnClickListener() {			
			@Override
			public void onClick(View v) {				
				Log.i(TAG, "被点击了......");
				if ( firstClickTime > 0 ) {		
					//第二次点击
					long secondClickTime = System.currentTimeMillis();
					if ( (secondClickTime - firstClickTime) < 500 ) {
						//双击事件
						Log.i(TAG, "被双击了......");
					}
					firstClickTime = 0;
				}
				//判断是否是一次点击,记录点击时间
				firstClickTime = System.currentTimeMillis();
				//点击了一次,过一段时间将firstClickTime清零,
				new Thread(){	
					public void run() {
						try {
							Thread.sleep(500);
						} catch (InterruptedException e) {
							e.printStackTrace();
						}
						firstClickTime = 0;
					}
				}.start();
			}
		 });

 

你可能感兴趣的:(android)