5

I tried to use startSwipe within adapter, it seems not working. Strangely, when I tried swipe it with finger manually, it worked. Just that startSwipe does not work when i clicked on of the button inside holder. Need help on this~

This is where i called the startSwipe (in onCreateViewHolder method).

final ViewHolder holder = new ViewHolder(rootView);
holder.rightItemLayout.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        mItemTouchHelper.startSwipe(holder);
    }
});

This is how I setup the ItemTouchHelper:

mItemTouchHelper = new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT) {
    @Override
    public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
        return true;
    }

    @Override
    public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {

    }
});

How ItemTouchHelper attached to recyclerView:

RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());

CategoryAdapter adapter = new CategoryAdapter(this, items);
recyclerView.setAdapter(adapter);
adapter.getItemTouchHelper().attachToRecyclerView(recyclerView);
kkl
  • 73
  • 5
  • 2
    Did you find a solution? Same problem here. – Ramiro Jul 11 '17 at 06:27
  • I found documentation with example here: https://developer.android.com/reference/androidx/recyclerview/widget/ItemTouchHelper#startSwipe(androidx.recyclerview.widget.RecyclerView.ViewHolder) But I could not make it working. – Maxim May 28 '23 at 16:14

0 Answers0