解决方案 »

  1.   

    Thread.sleep(10*1000) 
    让当前线程睡眠10秒
      

  2.   

    直接sleep不好。因为wait_for_10_sec()的作用是响应某个按键事件!
    若sleep,只是推迟了响应时间。我想起到的作用是,若点击了一次,就响应;但若下次点击在10秒之内,就不响应。反之则响应。
      

  3.   


    private volatile boolean sec_pass=true;
    Timer timer=new Timer();
    void wait_for_10_sec(){
        if(!sec_pass){
        return ;
       }
       //do something
       timer.schedule(new TimerTask(){
         public void run(){sec_pass=true;}
       },1000*10);
    }
      

  4.   

    感谢各位朋友!
    其实两个变量完全OK了。我当时想得复杂了,其实不用sleep啥的啦,哈哈: long previous = 0L;
    ...
    {
    Calendar c = Calendar.getInstance();
    long now = c.getTimeInMillis();     //获取当前时间
    Log.d(TAG, "now-->" + now + ",,previous-->"+previous + ",,now - previous -->" + (now - previous));
    if(now - previous>= 5000){  
    // 两次点击时间差大于5秒
    // do something
    previous = now ;   //更新 previous
    }
    // previous = now ;

          return true;