title: How to make GridView touchable inside ListView?
body: <p>I'm trying to implement grid view inside list view. I want to disable touch of List View and want to perform touch event on Grid View. How to do it? 
  I need to do this because i have implemented my calendar within grid view and i have inflated my grid view within list view.</p>
  
  <p>I am using below custom List activity to disable scrolling and touch event but still it gets my touch as I am getting log as true value for "ListViewTouch" and "ListViewDispatchTouch".</p>
  
  <pre><code>public class ScrollDisabledListView extends ListView {
  
  private int mPosition;
  
  public ScrollDisabledListView(Context context) {
      super(context);
  }
  
  public ScrollDisabledListView(Context context, AttributeSet attrs) {
      super(context, attrs);
  }
  
  public ScrollDisabledListView(Context context, AttributeSet attrs, int defStyle) {
      super(context, attrs, defStyle);
  }
  
  @Override
  public boolean onTouchEvent(MotionEvent ev) {
      Log.d("ListViewTouch", "true");
      return true;
  }
  
  @Override
  public boolean dispatchTouchEvent(MotionEvent ev) {
      Log.d("ListViewDispatchTouch", "true");
      final int actionMasked = ev.getActionMasked() &amp; MotionEvent.ACTION_MASK;
  
      if (actionMasked == MotionEvent.ACTION_DOWN) {
          // Record the position the list the touch landed on
          mPosition = pointToPosition((int) ev.getX(), (int) ev.getY());
          return super.dispatchTouchEvent(ev);
      }
  
      if (actionMasked == MotionEvent.ACTION_MOVE) {
          // Ignore move events
          return true;
      }
  
      if (actionMasked == MotionEvent.ACTION_UP) {
          // Check if we are still within the same view
          if (pointToPosition((int) ev.getX(), (int) ev.getY()) == mPosition) {
              super.dispatchTouchEvent(ev);
          } else {
              // Clear pressed state, cancel the action
              setPressed(false);
              invalidate();
              return true;
          }
      }
  
      return super.dispatchTouchEvent(ev);
  }
  </code></pre>