package org.itsnat.itsnatdroidtest.testact.util;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.ScrollView;
/**
* Esta clase permite que por ejemplo un ListView interno sea scrollable dentro del ScrollView, no es Ăștil
* para testear por ej los ListView
*
* http://stackoverflow.com/questions/6210895/listview-inside-scrollview-is-not-scrolling-on-android/11554684#11554684
*
* Created by jmarranz on 9/09/14.
*/
public class CustomScrollView extends ScrollView
{
public CustomScrollView(Context context) {
super(context);
}
public CustomScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomScrollView(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
final int action = ev.getAction();
switch (action)
{
case MotionEvent.ACTION_DOWN:
//Log.i("CustomScrollview", "onInterceptTouchEvent: DOWN super false" );
super.onTouchEvent(ev);
break;
case MotionEvent.ACTION_MOVE:
break; // redirect MotionEvents to ourself
case MotionEvent.ACTION_CANCEL:
//Log.i("CustomScrollview", "onInterceptTouchEvent: CANCEL super false" );
super.onTouchEvent(ev);
break;
case MotionEvent.ACTION_UP:
//Log.i("CustomScrollview", "onInterceptTouchEvent: UP super false");
break;
default: //Log.i("CustomScrollview", "onInterceptTouchEvent: " + action ); break;
}
return false;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
super.onTouchEvent(ev);
//Log.i("CustomScrollview", "onTouchEvent.action: " + ev.getAction() );
return true;
}
}