package com.parttimejob.swipe;
import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ListView;
public class SwipeListView extends ListView {
public static final int SWIPE_MODE_NONE = 0;
public static final int SWIPE_MODE_NORMAL = 1;
private int mCurrentMode = SWIPE_MODE_NORMAL;
SwipeListTouchListener listener = new SwipeListTouchListener(this);
OnScrollDeleteListener listener2;
private int mLimitPos = -1;
public SwipeListView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public int getLimitPos() {
return mLimitPos;
}
public void setLimitPos(int mLimitPos) {
this.mLimitPos = mLimitPos;
}
public int getmCurrentMode() {
return mCurrentMode;
}
public void setmCurrentMode(int mCurrentMode) {
this.mCurrentMode = mCurrentMode;
}
public void init() {
setOnTouchListener(listener);
super.clearFocus();
setRecyclerListener(new RecyclerListener() {
@Override
public void onMovedToScrapHeap(View view) {
SwipeItem swipeItem = (SwipeItem) view
.findViewById(R.id.swipe_item);
swipeItem.restoreNoAnimation();
// restoreTouchState();
}
});
}
public void setOnScrollDeleteListener(OnScrollDeleteListener l) {
listener.bindScrollDeleteListener(l);
listener2 = l;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
switch (ev.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_MOVE:
break;
case MotionEvent.ACTION_UP:
break;
}
return super.onTouchEvent(ev);
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
return super.dispatchTouchEvent(ev);
}
public void restoreTouchState() {
listener.resetTouchState();
}
@Override
protected void dispatchDraw(Canvas canvas) {
try {
super.dispatchDraw(canvas);
} catch (IndexOutOfBoundsException e) {
//
}
}
public interface OnScrollDeleteListener {
public void onScrollDelete(int type, int position);
}
public interface onListViewItemClickListener {
public void onListViewItem(int position);
}
}