public class DoubleClickTest extends Activity {   String TAG = "DoubleClickTest";      private boolean waitDouble = true;   private static final int DOUBLE_CLICK_TIME = 350; //两次单击的时间间隔      @Override   public void onCreate(Bundle savedInstanceState){      super.onCreate(savedInstanceState);            // 设置布局文件,其中只有一个Button      setContentView(R.layout.double_click_test);            Button button = (Button)findViewById(R.id.button);      button.setOnClickListener(listener);   }         OnClickListener listener = new OnClickListener()   {      @Override      public void onClick(View v)       {         if ( waitDouble == true )          {            waitDouble = false;            Thread thread = new Thread() {               @Override               public void run() {                  try {                     sleep(DOUBLE_CLICK_TIME);                     if ( waitDouble == false ) {                        waitDouble = true;                        singleClick();                     }                  } catch (InterruptedException e) {                     e.printStackTrace();                  }               }            };            thread.start();         }          else {            waitDouble = true;            doubleClick();         }      }   };      // 单击响应事件   private void singleClick(){   Log.i(TAG, "singleClick");   }      // 双击响应事件   private void doubleClick(){   Log.i(TAG, "doubleClick");   }   }


缺点:用延时来确定双击,因为开了新的线程,对主线程UI操作不便

   

更多相关文章

  1. 线程池的封装和使用(二)
  2. Android studio 简单的多线程
  3. Android 为线程增加Looper
  4. Android中对后台任务线程性能的说明及优化
  5. Android 图片缩放,手势,事件
  6. Android回调事件传播-android学习之旅(四十五)
  7. Android 线程池管理工具类
  8. android:Handler开启线程定时循环

随机推荐

  1. Android Native代码中的status_t定义
  2. GridView、AutoCompleteTextView、Expana
  3. android 用命令行打包生成 apk
  4. Unity3d Android开发 Android Developmen
  5. android 按钮设计中state_selected属性
  6. 【Android经典入门教程-上(bill译)】
  7. AsyncTask机制详解
  8. Android之Intent和Activity
  9. Android 网络(一)
  10. [Android] android的消息队列模型