/** * Create a new {@code SimpleSwipeUndoAdapterGen}, decorating given {@link android.widget.BaseAdapter}. * * @param undoAdapter the {@link android.widget.BaseAdapter} that is decorated. Must implement * {@link com.nhaarman.listviewanimations.itemmanipulation.swipedismiss.undo.UndoAdapter}. * @param context the {@link android.content.Context}. * @param dismissCallback the {@link com.nhaarman.listviewanimations.itemmanipulation.swipedismiss.OnDismissCallback} that is notified of dismissed items. */ public SimpleSwipeUndoAdapter(BaseAdapter adapter, Context context, IOnDismissCallback dismissCallback) : base(adapter, null) { // We fix this right away // noinspection ConstantConditions setUndoCallback(this); BaseAdapter undoAdapter = adapter; while (undoAdapter is BaseAdapterDecorator) { undoAdapter = ((BaseAdapterDecorator)undoAdapter).getDecoratedBaseAdapter(); } if (!(undoAdapter is IUndoAdapter)) { throw new Java.Lang.IllegalStateException("BaseAdapter must implement UndoAdapter!"); } mUndoAdapter = (IUndoAdapter)undoAdapter; mContext = context; mOnDismissCallback = dismissCallback; }
/** * Creates a new {@code TimedUndoAdapterGen}, decorating given {@link android.widget.BaseAdapter}. * * @param undoAdapter the {@link android.widget.BaseAdapter} that is decorated. Must implement * {@link com.nhaarman.listviewanimations.itemmanipulation.swipedismiss.undo.UndoAdapter}. * @param context the {@link android.content.Context}. * @param dismissCallback the {@link com.nhaarman.listviewanimations.itemmanipulation.swipedismiss.OnDismissCallback} that is notified of dismissed items. */ //public <V extends BaseAdapter & UndoAdapter> TimedUndoAdapter(@NonNull V undoAdapter, @NonNull Context context, @NonNull OnDismissCallback // dismissCallback) { // super(undoAdapter, context, dismissCallback); //} public TimedUndoAdapter(BaseAdapter undoAdapter, Context context, IOnDismissCallback dismissCallback) : base(undoAdapter, context, dismissCallback) { //super(undoAdapter, context, dismissCallback); }
/** * Enables swipe to dismiss functionality for this {@code DynamicListView}. * * @param onDismissCallback the {@link com.nhaarman.listviewanimations.itemmanipulation.swipedismiss.OnDismissCallback} * that is notified of dismissals. */ public void enableSwipeToDismiss(IOnDismissCallback onDismissCallback) { mSwipeTouchListener = new SwipeDismissTouchListener(new DynamicListViewWrapper(this), onDismissCallback); }
/** * Constructs a new {@code SwipeDismissTouchListener} for the given {@link android.widget.AbsListView}. * * @param listViewWrapper The {@code ListViewWrapper} containing the ListView whose items should be dismissable. * @param callback The callback to trigger when the user has indicated that he */ //@SuppressWarnings("UnnecessaryFullyQualifiedName") public SwipeDismissTouchListener(IListViewWrapper listViewWrapper, IOnDismissCallback callback) : base(listViewWrapper) { mCallback = callback; mDismissAnimationTime = listViewWrapper.getListView().Context.Resources.GetInteger(Android.Resource.Integer.ConfigShortAnimTime); }
/** * Create a new SwipeDismissAdapter. * * @param baseAdapter the {@link android.widget.BaseAdapter to use} * @param onDismissCallback the {@link OnDismissCallback} to be notified of dismissed items. */ public SwipeDismissAdapter(BaseAdapter baseAdapter, IOnDismissCallback onDismissCallback) : base(baseAdapter) { // super(baseAdapter); mOnDismissCallback = onDismissCallback; }