diff --git a/demo/src/main/java/com/daimajia/swipedemo/ListViewExample.java b/demo/src/main/java/com/daimajia/swipedemo/ListViewExample.java index 4868a95..efa927f 100644 --- a/demo/src/main/java/com/daimajia/swipedemo/ListViewExample.java +++ b/demo/src/main/java/com/daimajia/swipedemo/ListViewExample.java @@ -1,8 +1,10 @@ package com.daimajia.swipedemo; +import android.app.ActionBar; import android.app.Activity; import android.content.Context; import android.content.Intent; +import android.os.Build; import android.os.Bundle; import android.util.Log; import android.view.Menu; @@ -23,11 +25,18 @@ public class ListViewExample extends Activity { private ListView mListView; private ListViewAdapter mAdapter; private Context mContext = this; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.listview); - mListView = (ListView)findViewById(R.id.listview); + mListView = (ListView) findViewById(R.id.listview); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { + ActionBar actionBar = getActionBar(); + if (actionBar != null) { + actionBar.setTitle("ListView"); + } + } /** * The following comment is the sample usage of ArraySwipeAdapter. @@ -50,7 +59,7 @@ public class ListViewExample extends Activity { mListView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { - Log.e("ListView","OnTouch"); + Log.e("ListView", "OnTouch"); return false; } }); @@ -64,7 +73,7 @@ public class ListViewExample extends Activity { mListView.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { - Log.e("ListView","onScrollStateChanged"); + Log.e("ListView", "onScrollStateChanged"); } @Override @@ -105,10 +114,14 @@ public class ListViewExample extends Activity { startActivity(new Intent(this, ListViewExample.class)); finish(); return true; - }else if(id == R.id.action_gridview){ + } else if (id == R.id.action_gridview) { startActivity(new Intent(this, GridViewExample.class)); finish(); return true; + } else if (id == R.id.action_recycler) { + startActivity(new Intent(this, RecyclerViewExample.class)); + finish(); + return true; } return super.onOptionsItemSelected(item); } diff --git a/demo/src/main/java/com/daimajia/swipedemo/MyActivity.java b/demo/src/main/java/com/daimajia/swipedemo/MyActivity.java index e1149dd..f2aaff7 100644 --- a/demo/src/main/java/com/daimajia/swipedemo/MyActivity.java +++ b/demo/src/main/java/com/daimajia/swipedemo/MyActivity.java @@ -119,7 +119,7 @@ public class MyActivity extends Activity { } else if (id == R.id.action_recycler) { startActivity(new Intent(this, RecyclerViewExample.class)); } - return super.onOptionsItemSelected(item); + return super.onOptionsItemSelected(item); } /* diff --git a/demo/src/main/java/com/daimajia/swipedemo/RecyclerViewExample.java b/demo/src/main/java/com/daimajia/swipedemo/RecyclerViewExample.java index a7415f4..f165a13 100644 --- a/demo/src/main/java/com/daimajia/swipedemo/RecyclerViewExample.java +++ b/demo/src/main/java/com/daimajia/swipedemo/RecyclerViewExample.java @@ -1,11 +1,12 @@ package com.daimajia.swipedemo; +import android.app.ActionBar; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.graphics.drawable.Drawable; +import android.os.Build; import android.os.Bundle; -import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.Menu; @@ -15,13 +16,16 @@ import android.view.View; import android.widget.Toast; import com.daimajia.swipe.util.Attributes; -import com.daimajia.swipedemo.adapter.RecyclerViewSimpleAdapter; +import com.daimajia.swipedemo.adapter.RecyclerViewAdvancedAdapter; import org.lucasr.twowayview.ItemClickSupport; import org.lucasr.twowayview.TwoWayLayoutManager; import org.lucasr.twowayview.widget.DividerItemDecoration; import org.lucasr.twowayview.widget.ListLayoutManager; +import java.util.ArrayList; +import java.util.Arrays; + public class RecyclerViewExample extends Activity { private RecyclerView recyclerView; @@ -30,21 +34,25 @@ public class RecyclerViewExample extends Activity { // Our LayoutManager uses: https://github.com/lucasr/twoway-view to help with decoration and can be used for a more advanced config as well. // Read http://lucasr.org/2014/07/31/the-new-twowayview/ for a better understanding private RecyclerView.LayoutManager mLayoutManager; - private Context mContext = this; + private Context mContext = this; + private ArrayList mDataSet; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.recyclerview); recyclerView = (RecyclerView) findViewById(R.id.recycler_view); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { + ActionBar actionBar = getActionBar(); + if (actionBar != null) { + actionBar.setTitle("RecyclerView"); + } + } /** - * The following comment is the sample usage of ArraySwipeAdapter. + * Sample data. */ - String[] adapterData = new String[]{"Activity", "Service", "Content Provider", "Intent", "BroadcastReceiver", "ADT", "Sqlite3", "HttpClient", - "DDMS", "Android Studio", "Fragment", "Loader", "Activity", "Service", "Content Provider", "Intent", - "BroadcastReceiver", "ADT", "Sqlite3", "HttpClient", "Activity", "Service", "Content Provider", "Intent", - "BroadcastReceiver", "ADT", "Sqlite3", "HttpClient"}; + String[] adapterData = new String[]{"Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming"}; // Uses a ListLayout manager from TwoWayView Lib: mLayoutManager = new ListLayoutManager(this, TwoWayLayoutManager.Orientation.VERTICAL); @@ -52,9 +60,10 @@ public class RecyclerViewExample extends Activity { final Drawable divider = getResources().getDrawable(R.drawable.divider); recyclerView.addItemDecoration(new DividerItemDecoration(divider)); - mAdapter = new RecyclerViewSimpleAdapter(this, adapterData); + mDataSet = new ArrayList(Arrays.asList(adapterData)); + mAdapter = new RecyclerViewAdvancedAdapter(this, mDataSet); + ((RecyclerViewAdvancedAdapter) mAdapter).setMode(Attributes.Mode.Single); recyclerView.setAdapter(mAdapter); - ((RecyclerViewSimpleAdapter) mAdapter).setMode(Attributes.Mode.Single); /* Listeners */ ItemClickSupport itemClick = ItemClickSupport.addTo(recyclerView); diff --git a/demo/src/main/java/com/daimajia/swipedemo/adapter/RecyclerViewSimpleAdapter.java b/demo/src/main/java/com/daimajia/swipedemo/adapter/RecyclerViewAdvancedAdapter.java similarity index 79% rename from demo/src/main/java/com/daimajia/swipedemo/adapter/RecyclerViewSimpleAdapter.java rename to demo/src/main/java/com/daimajia/swipedemo/adapter/RecyclerViewAdvancedAdapter.java index 6e49d57..227c103 100644 --- a/demo/src/main/java/com/daimajia/swipedemo/adapter/RecyclerViewSimpleAdapter.java +++ b/demo/src/main/java/com/daimajia/swipedemo/adapter/RecyclerViewAdvancedAdapter.java @@ -18,31 +18,31 @@ import com.daimajia.swipe.interfaces.SwipeItemMangerInterface; import com.daimajia.swipe.util.Attributes; import com.daimajia.swipedemo.R; -import java.lang.reflect.Array; import java.util.ArrayList; import java.util.List; -import java.util.Objects; -public class RecyclerViewSimpleAdapter extends RecyclerView.Adapter implements SwipeItemMangerInterface, SwipeAdapterInterface { +public class RecyclerViewAdvancedAdapter extends RecyclerView.Adapter implements SwipeItemMangerInterface, SwipeAdapterInterface { public static class ViewHolder extends RecyclerView.ViewHolder { SwipeLayout swipeLayout; - TextView textView; + TextView textViewPos; + TextView textViewData; public ViewHolder(View itemView) { super(itemView); swipeLayout = (SwipeLayout) itemView.findViewById(R.id.swipe); - textView = (TextView) itemView.findViewById(R.id.position); + textViewPos = (TextView) itemView.findViewById(R.id.position); + textViewData = (TextView) itemView.findViewById(R.id.text_data); } } private Context mContext; - private String[] mDataset; + private ArrayList mDataset; protected SwipeItemRecyclerMangerImpl mItemManger = new SwipeItemRecyclerMangerImpl(this); - public RecyclerViewSimpleAdapter(Context context, String[] objects) { + public RecyclerViewAdvancedAdapter(Context context, ArrayList objects) { this.mContext = context; this.mDataset = objects; } @@ -54,7 +54,8 @@ public class RecyclerViewSimpleAdapter extends RecyclerView.Adapter getOpenItems() { - if(mode == Attributes.Mode.Multiple){ + if (mode == Attributes.Mode.Multiple) { return new ArrayList(mOpenPositions); - }else{ + } else { return Arrays.asList(mOpenPosition); } } @@ -135,9 +128,9 @@ public class SwipeItemRecyclerMangerImpl implements SwipeItemMangerInterface { @Override public boolean isOpen(int position) { - if(mode == Attributes.Mode.Multiple){ + if (mode == Attributes.Mode.Multiple) { return mOpenPositions.contains(position); - }else{ + } else { return mOpenPosition == position; } } @@ -154,7 +147,7 @@ public class SwipeItemRecyclerMangerImpl implements SwipeItemMangerInterface { } } - class OnLayoutListener implements SwipeLayout.OnLayout{ + class OnLayoutListener implements SwipeLayout.OnLayout { private int position; @@ -162,15 +155,15 @@ public class SwipeItemRecyclerMangerImpl implements SwipeItemMangerInterface { this.position = position; } - public void setPosition(int position){ + public void setPosition(int position) { this.position = position; } @Override public void onLayout(SwipeLayout v) { - if(isOpen(position)){ + if (isOpen(position)) { v.open(false, false); - }else{ + } else { v.close(false, false); } } @@ -187,16 +180,16 @@ public class SwipeItemRecyclerMangerImpl implements SwipeItemMangerInterface { @Override public void onClose(SwipeLayout layout) { - if(mode == Attributes.Mode.Multiple){ + if (mode == Attributes.Mode.Multiple) { mOpenPositions.remove(position); - }else{ + } else { mOpenPosition = INVALID_POSITION; } } @Override public void onStartOpen(SwipeLayout layout) { - if(mode == Attributes.Mode.Single) { + if (mode == Attributes.Mode.Single) { closeAllExcept(layout); } } @@ -211,7 +204,7 @@ public class SwipeItemRecyclerMangerImpl implements SwipeItemMangerInterface { } } - public void setPosition(int position){ + public void setPosition(int position) { this.position = position; } }