Search in sources :

Example 1 with ItemTouchHelper

use of carbon.recycler.ItemTouchHelper in project Carbon by ZieIony.

the class RecyclerActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_recycler);
    final RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
    recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
    ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {

        @Override
        public int getMovementFlags(android.support.v7.widget.RecyclerView recyclerView, android.support.v7.widget.RecyclerView.ViewHolder viewHolder) {
            int dragFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN;
            int swipeFlags = ItemTouchHelper.START | ItemTouchHelper.END;
            return makeMovementFlags(dragFlags, swipeFlags);
        }

        @Override
        public boolean onMove(android.support.v7.widget.RecyclerView recyclerView, android.support.v7.widget.RecyclerView.ViewHolder viewHolder, android.support.v7.widget.RecyclerView.ViewHolder target) {
            Collections.swap(fruits, viewHolder.getAdapterPosition(), target.getAdapterPosition());
            fruitAdapter.notifyItemMoved(viewHolder.getAdapterPosition(), target.getAdapterPosition());
            return true;
        }

        @Override
        public void onSwiped(RecyclerView.ViewHolder viewHolder, int swipeDir) {
            fruits.remove(viewHolder.getAdapterPosition());
            fruitAdapter.notifyItemRemoved(viewHolder.getAdapterPosition());
        }

        @Override
        public void onSelectedChanged(android.support.v7.widget.RecyclerView.ViewHolder viewHolder, int actionState) {
            super.onSelectedChanged(viewHolder, actionState);
        }
    };
    ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleItemTouchCallback);
    itemTouchHelper.attachToRecyclerView(recyclerView);
    fruitAdapter = new FruitAdapter(fruits, itemTouchHelper);
    recyclerView.setAdapter(fruitAdapter);
    recyclerView.setHeader(R.layout.header_scrollview);
}
Also used : ItemTouchHelper(carbon.recycler.ItemTouchHelper) FruitAdapter(tk.zielony.carbonsamples.applibrary.FruitAdapter) RecyclerView(carbon.widget.RecyclerView) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager)

Aggregations

LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)1 ItemTouchHelper (carbon.recycler.ItemTouchHelper)1 RecyclerView (carbon.widget.RecyclerView)1 FruitAdapter (tk.zielony.carbonsamples.applibrary.FruitAdapter)1