title: Ontouch event of OnTouchListener gets called twice in android
body: <p>I am creating an appliction in which a line gets generated between two points given at runtime.<br>
  The problem that I see is that <code>onTouch()</code> is called twice for every click on my simulator. I know that two actions (<code>ACTION_DOWN</code> &amp; <code>ACTION_UP</code>) are checked. But I want my app to call <code>onTouch()</code> just once. Please give me some ideas. This is the code that I used:</p>
  
  <pre><code>SurfaceView surfaceview = new SurfaceView(getContext());
  SurfaceHolder h = surfaceview.getHolder();
  int action = event.getActionMasked();
  synchronized(h) {
      if (action == MotionEvent.ACTION_DOWN &amp;&amp; action!=MotionEvent.ACTION_CANCEL)// &amp;&amp; flag==true)
      {
          Log.d("TouchView","ACTION_DOWN ");
          Point pointer = new Point();
          pointer.x = (int) event.getX();
          pointer.y = (int) event.getY();
          touchPoint.add(pointer);
          view.invalidate();
          Log.d("MotionEvent.ACTION_DOWN", "point: " + pointer);
          action = MotionEvent.ACTION_CANCEL;
          flag = false;
      }
      else if(action == MotionEvent.ACTION_UP &amp;&amp; action!=MotionEvent.ACTION_CANCEL)// &amp;&amp; flag==true)
      {
          Log.d("TouchView","ACTION_UP");
          Point pointer = new Point();
          pointer.x = (int) event.getX();
          pointer.y = (int) event.getY();
          touchPoint.add(pointer);
          view.invalidate();
          Log.d("MotionEvent.ACTION_UP", "point: " + pointer);
          action = MotionEvent.ACTION_CANCEL;
          flag = false;
      }
      else return false;
  }
  </code></pre>