| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Smart Recycler View is an android library project to help developers to use the recycler view implementation in an easy way.
Set up the project dependencies. To use this library in your project:
(1) Use the GitHub source and include that as a module dependency by following these steps:
git clone https://github.com/baldapps/SmartRecyclerView.gitinclude ':smartrecyclerview'
project(':smartrecyclerview').projectDir = new File('../Smartrecyclerview/smartrecyclerview/') dependencies {
...
compile project(':smartrecyclerview')
}Now your project is ready to use this library
Smart Recycler view adds to the support library version:
public class MainActivity extends Activity implements DragListener, SmartRecycleView.OnItemClickListener, MultiChoiceModeListener {
private ItemTouchHelper touchHelper;
private TouchHelperCallback callback;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SmartRecycleView list = findViewById(R.id.list);
ArrayList<Item> items = new ArrayList<>();
//add some stuff to items here
ArrayAdapterTest adapter = new ArrayAdapterTest(this, items);
adapter.setDragListener(this);
list.setChoiceMode(CheckableList.SINGLE);
list.setMultiChoiceModeListener(this);
callback = new TouchHelperCallback(adapter);
touchHelper = new ItemTouchHelper(callback);
touchHelper.attachToRecyclerView(list);
list.setLayoutManager(new LinearLayoutManager(this));
list.setAdapter(adapter);
list.addOnItemClickListener(this);
}
@Override
public void onStartDrag(RecyclerView.ViewHolder viewHolder) {
touchHelper.startDrag(viewHolder);
}
@Override
public void onItemClick(RecyclerView parent, View clickedView, int position) {
Log.d("TAG", "item cliked at postion " + position);
}
@Override
public void onItemLongClick(RecyclerView parent, View clickedView, int position) {
Log.d("TAG", "item long cliked at postion " + position);
}
/* Action modes */
@Override
public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
// Inflate a menu resource providing context menu items
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.delete_command, menu);
callback.enableDrag(false);
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case R.id.delete_device:
//do domething here
mode.finish(); // Action picked, so close the CAB
return true;
default:
return false;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
callback.enableDrag(true);
}See LICENSE
1.0.0
| Back | FazBrowse Home | New Git URL |