Back to project page HydraListAndroid.
The source code is released under:
Apache License
If you think the Android project HydraListAndroid listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.fada21.android.hydralist.dragable; /* ww w .j a v a2s . c om*/ import static com.fada21.android.hydralist.util.HydraListConsts.UNSET; import android.content.Context; import com.fada21.android.hydralist.data.HydraListDataProvider; import com.fada21.android.hydralist.dragable.interfaces.DragableListItem; import com.fada21.android.hydralist.dragable.interfaces.OnItemMovedListener; import com.fada21.android.hydralist.dragable.interfaces.Swappable; import com.fada21.android.hydralist.helper.HydraListAdapterHelper; public class DragableAdapterHelper<T extends DragableListItem> extends HydraListAdapterHelper<T> { private final int dragableTouchResId; private final int allowedRangeStartPosition; private final int allowedRangeEndPosition; private OnItemMovedListener onItemMovedListener; public DragableAdapterHelper(Context context) { super(context); dragableTouchResId = UNSET; this.allowedRangeStartPosition = UNSET; this.allowedRangeEndPosition = UNSET; } public DragableAdapterHelper(Context context, int dragableTouchResId) { super(context); this.dragableTouchResId = dragableTouchResId; this.allowedRangeStartPosition = UNSET; this.allowedRangeEndPosition = UNSET; } // public DragableAdapterHelper(Context context, int allowedRangeStartPosition) { // super(context); // this.allowedRangeStartPosition = allowedRangeStartPosition; // this.allowedRangeEndPosition = UNSET; // } // // public DragableAdapterHelper(Context context, int allowedRangeStartPosition, int allowedRangeEndPosition) { // super(context); // this.allowedRangeStartPosition = allowedRangeStartPosition; // this.allowedRangeEndPosition = allowedRangeEndPosition; // } // // public int getAllowedRangeStartPosition() { // return allowedRangeStartPosition; // } // // public int getAllowedRangeEndPosition() { // return allowedRangeEndPosition; // } @Override public void ensureCompliance(HydraListDataProvider<T> dataProvider) throws IllegalStateException { if (allowedRangeStartPosition < UNSET) { throw new IllegalStateException("Defined allowedRangeStartPosition must be nonnegative"); } else if (allowedRangeEndPosition < allowedRangeStartPosition) { throw new IllegalStateException("Defined allowedRangeStartPosition must be greater than allowedRangeEndPosition"); } if (!(dataProvider instanceof Swappable)) { throw new IllegalStateException("Data provider must implement Swapable interface!"); } if (! DragableListItem.class.isAssignableFrom(dataProvider.getHydraListItemType())) { throw new IllegalStateException("Data provider items must implement Dragable interface!"); } } public int getDragableTouchResId() { return dragableTouchResId; } public void setOnItemMovedListener(OnItemMovedListener onItemMovedListener) { this.onItemMovedListener = onItemMovedListener; } public OnItemMovedListener getOnItemMovedListener() { return onItemMovedListener; } }