diff --git a/demo/src/main/java/com/daimajia/swipedemo/RecyclerViewExample.java b/demo/src/main/java/com/daimajia/swipedemo/RecyclerViewExample.java index f165a13..d3f0aef 100644 --- a/demo/src/main/java/com/daimajia/swipedemo/RecyclerViewExample.java +++ b/demo/src/main/java/com/daimajia/swipedemo/RecyclerViewExample.java @@ -16,6 +16,7 @@ import android.view.View; import android.widget.Toast; import com.daimajia.swipe.util.Attributes; +import com.daimajia.swipedemo.adapter.RecyclerViewAdapter; import com.daimajia.swipedemo.adapter.RecyclerViewAdvancedAdapter; import org.lucasr.twowayview.ItemClickSupport; @@ -61,8 +62,8 @@ public class RecyclerViewExample extends Activity { recyclerView.addItemDecoration(new DividerItemDecoration(divider)); mDataSet = new ArrayList(Arrays.asList(adapterData)); - mAdapter = new RecyclerViewAdvancedAdapter(this, mDataSet); - ((RecyclerViewAdvancedAdapter) mAdapter).setMode(Attributes.Mode.Single); + mAdapter = new RecyclerViewAdapter(this, mDataSet); + ((RecyclerViewAdapter) mAdapter).setMode(Attributes.Mode.Single); recyclerView.setAdapter(mAdapter); /* Listeners */ diff --git a/demo/src/main/java/com/daimajia/swipedemo/adapter/RecyclerViewAdapter.java b/demo/src/main/java/com/daimajia/swipedemo/adapter/RecyclerViewAdapter.java new file mode 100644 index 0000000..971e786 --- /dev/null +++ b/demo/src/main/java/com/daimajia/swipedemo/adapter/RecyclerViewAdapter.java @@ -0,0 +1,83 @@ +package com.daimajia.swipedemo.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; +import android.widget.Toast; + +import com.daimajia.androidanimations.library.Techniques; +import com.daimajia.androidanimations.library.YoYo; +import com.daimajia.swipe.SimpleSwipeListener; +import com.daimajia.swipe.SwipeLayout; +import com.daimajia.swipe.adapters.RecyclerSwipeAdapter; +import com.daimajia.swipe.implments.SwipeItemRecyclerMangerImpl; +import com.daimajia.swipedemo.R; + +import java.util.ArrayList; + +public class RecyclerViewAdapter extends RecyclerSwipeAdapter { + + public static class SimpleViewHolder extends ViewHolder { + SwipeLayout swipeLayout; + TextView textViewPos; + TextView textViewData; + + public SimpleViewHolder(View itemView) { + super(itemView); + swipeLayout = (SwipeLayout) itemView.findViewById(R.id.swipe); + textViewPos = (TextView) itemView.findViewById(R.id.position); + textViewData = (TextView) itemView.findViewById(R.id.text_data); + } + } + + private Context mContext; + private ArrayList mDataset; + + protected SwipeItemRecyclerMangerImpl mItemManger = new SwipeItemRecyclerMangerImpl(this); + + public RecyclerViewAdapter(Context context, ArrayList objects) { + super(context, objects); + this.mContext = context; + this.mDataset = objects; + } + + @Override + public ViewHolder createRecyclerViewHolder(ViewGroup parent, int viewType) { + View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclerview_item, parent, false); + return new SimpleViewHolder(view); + } + + @Override + public void bindRecyclerViewHolder(ViewHolder viewHolder, int position) { + SimpleViewHolder simpleViewHolder = (SimpleViewHolder) viewHolder; + String item = mDataset.get(position); + simpleViewHolder.swipeLayout.setShowMode(SwipeLayout.ShowMode.LayDown); + simpleViewHolder.swipeLayout.addSwipeListener(new SimpleSwipeListener() { + @Override + public void onOpen(SwipeLayout layout) { + YoYo.with(Techniques.Tada).duration(500).delay(100).playOn(layout.findViewById(R.id.trash)); + } + }); + simpleViewHolder.swipeLayout.setOnDoubleClickListener(new SwipeLayout.DoubleClickListener() { + @Override + public void onDoubleClick(SwipeLayout layout, boolean surface) { + Toast.makeText(mContext, "DoubleClick", Toast.LENGTH_SHORT).show(); + } + }); + simpleViewHolder.textViewPos.setText((position + 1) + "."); + simpleViewHolder.textViewData.setText(item); + mItemManger.bind(viewHolder.itemView, position); + } + + @Override + public int getItemCount() { + return mDataset.size(); + } + + @Override + public int getSwipeLayoutResourceId(int position) { + return R.id.swipe; + } +} diff --git a/demo/src/main/res/drawable/divider.xml b/demo/src/main/res/drawable/divider.xml index c837d29..111d79d 100644 --- a/demo/src/main/res/drawable/divider.xml +++ b/demo/src/main/res/drawable/divider.xml @@ -18,7 +18,7 @@ android:shape="rectangle"> - + \ No newline at end of file diff --git a/demo/src/main/res/layout/recyclerview_item.xml b/demo/src/main/res/layout/recyclerview_item.xml new file mode 100644 index 0000000..4a050f3 --- /dev/null +++ b/demo/src/main/res/layout/recyclerview_item.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + +