package org.qii.weiciyuan.support.lib;
import org.qii.weiciyuan.support.debug.AppLogger;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import java.util.ArrayList;
/**
* User: qii
* Date: 14-6-18
*/
public class HeaderListView extends HackFirstVisiblePositionListView {
private boolean inTouch = false;
private ArrayList<View> headerList = new ArrayList<View>();
public HeaderListView(Context context) {
super(context);
}
public HeaderListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public HeaderListView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
switch (event.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
boolean result = super.dispatchTouchEvent(event);
if (result) {
inTouch = true;
}
return result;
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
inTouch = false;
break;
}
return super.dispatchTouchEvent(event);
}
public boolean isInTouchByUser() {
AppLogger.e("" + inTouch);
return inTouch;
}
@Override
public void addHeaderView(View v, Object data, boolean isSelectable) {
super.addHeaderView(v, data, isSelectable);
headerList.add(v);
}
@Override
public boolean removeHeaderView(View v) {
boolean result = super.removeHeaderView(v);
headerList.remove(v);
return result;
}
public boolean isThisViewHeader(View v) {
return headerList.contains(v);
}
}