ListView lv = (ListView)findViewById(R.id.myListView); // your listview inside scrollview lv.setOnTouchListener(new ListView.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: // Disallow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(true); break; case MotionEvent.ACTION_UP: // Allow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(false); break; } // Handle ListView touch events. v.onTouchEvent(event); return true; } });
seekbar.setOnTouchListener(new ListView.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: // Disallow Drawer to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(true); break; case MotionEvent.ACTION_UP: // Allow Drawer to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(false); break; } // Handle seekbar touch events. v.onTouchEvent(event); return true; } });
HorizontalScrollView hv = (HorizontalScrollView)findViewById(R.id.myHsView); // your HorizontalScrollView inside scrollview hv.setOnTouchListener(new ListView.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: // Disallow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(true); break; case MotionEvent.ACTION_UP: // Allow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(false); break; } // Handle HorizontalScrollView touch events. v.onTouchEvent(event); return true; } });
ListView lv = (ListView)findViewById(R.id.myListView); // your listview inside scrollview lv.setOnTouchListener(new ListView.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: // Disallow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(true); break; case MotionEvent.ACTION_UP: // Allow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(false); break; } // Handle ListView touch events. v.onTouchEvent(event); return true; } });
listView.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: // Disallow View pager to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(true); break; case MotionEvent.ACTION_UP: // Allow View pager to intercept touch events. // v.getParent().requestDisallowInterceptTouchEvent(false); break; } // Handle Listview touch events. v.onTouchEvent(event); return true; } });
yourListView.setOnTouchListener(new ListView.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: v.getParent().requestDisallowInterceptTouchEvent(true); break; case MotionEvent.ACTION_UP: v.getParent().requestDisallowInterceptTouchEvent(false); break; } v.onTouchEvent(event); return true; } });
_menuListView.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: // Disallow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(true); break; case MotionEvent.ACTION_UP: // Allow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(false); break; } // Handle ListView touch events. v.onTouchEvent(event); return true; } });
numberPicker.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(final View v, final MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_MOVE && v.getParent() != null) { v.getParent().requestDisallowInterceptTouchEvent(true); } if (event.getAction() == MotionEvent.ACTION_UP) { v.performClick(); } v.onTouchEvent(event); return true; } });
numberPicker.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(final View v, final MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_MOVE && v.getParent() != null) { v.getParent().requestDisallowInterceptTouchEvent(true); } if (event.getAction() == MotionEvent.ACTION_UP) { v.performClick(); } v.onTouchEvent(event); return true; } });
viewPager.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: // Disallow Drawer to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(true); break; case MotionEvent.ACTION_UP: // Allow Drawer to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(false); break; } // Handle viewPager touch events. v.onTouchEvent(event); return true; } });
mRecyclerView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: // Disallow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(true); break; case MotionEvent.ACTION_UP: //Allow ScrollView to intercept touch events once again. v.getParent().requestDisallowInterceptTouchEvent(false); break; } // Handle RecyclerView touch events. v.onTouchEvent(event); return true; } });
nestedRecyclerView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: // Disallow parent to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(true); break; case MotionEvent.ACTION_UP: // Allow parent to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(false); break; } // Handle inner(child) touch events. v.onTouchEvent(event); return true; } });
ListView listView = (ListView)findViewById(R.id.lvImageList); listView .setOnTouchListener(new ListView.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: // Disallow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(true); break; case MotionEvent.ACTION_UP: // Allow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(false); break; } v.onTouchEvent(event); return true; } });
svView.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: // Disallow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(true); break; case MotionEvent.ACTION_UP: // Allow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(false); break; } // Handle ListView touch events. v.onTouchEvent(event); return true; } });
ScrollView scr = (ScrollView) findViewById(R.id.scr); scr.setOnTouchListener(new ScrollView.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: // Disallow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(true); break; case MotionEvent.ACTION_UP: // Allow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(false); break; } // Handle ScrollView touch events. v.onTouchEvent(event); return true; } });
myList.setOnTouchListener(new ListView.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: // Disallow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(true); break; case MotionEvent.ACTION_UP: // Allow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(false); break; } // Handle ListView touch events. v.onTouchEvent(event); return true; } });
listView.setOnTouchListener(new ListView.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: // Disallow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(true); break; case MotionEvent.ACTION_UP: // Allow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(false); break; } // Handle ListView touch events. v.onTouchEvent(event); return true; } });
@Override public boolean onTouch(View v, MotionEvent event) { Log.i("OnTouch", "Fired On Touch in " + v.getId()); // Do this on the down event too so it's not getting fired before up event if(event.getAction() == MotionEvent.ACTION_DOWN) { // Disallow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(true); } //only do this on the up event so you're not doing it for down too if(event.getAction() == MotionEvent.ACTION_UP) { // Disallow ScrollView to intercept touch events. v.getParent().requestDisallowInterceptTouchEvent(true); } //Keep going with the touch event to show the keyboard v.onTouchEvent(event); return true; }
findViewById(R.id.parent_view).setOnTouchListener(new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { View childV = findViewById(R.id.child_view); if (childV != null) { int[] l = new int[2]; childV.getLocationOnScreen(l); RectF rect = new RectF(l[0], l[1], l[0] + childV.getWidth(), l[1] + childV.getHeight()); if(rect.contains( event.getX(), event.getY())) { childV.getParent() .requestDisallowInterceptTouchEvent(false); childV.onTouchEvent(event); return true; } } childV.getParent() .requestDisallowInterceptTouchEvent(true); return false; } });
private OnTouchListener textViewTouchListener= new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: v.getParent().requestDisallowInterceptTouchEvent(true); break; case MotionEvent.ACTION_MOVE: v.getParent().requestDisallowInterceptTouchEvent(false); break; case MotionEvent.ACTION_UP: v.getParent().requestDisallowInterceptTouchEvent(false); break; } v.onTouchEvent(event); return true; } };