简体   繁体   English

RecyclerView ItemTouchHelper滑动操作在Fragment Class中不起作用

[英]RecyclerView ItemTouchHelper swipe action is not working in Fragment Class

在此输入图像描述 I have a recyclerview inside one of a fragment class under FragmentViewPagerAdapter . 我在FragmentViewPagerAdapter下的一个片段类中有一个recyclerview。 Here at Recyclerview I implement ItemTouchHelper for a swipe which is not happening. Recyclerview我实现了ItemTouchHelper用于滑动,但没有发生。 Does anyone have come across this issue. 有没有人遇到过这个问题。

Can't use itemtouchhelper swipe feature because of viewpageradapter swipe action. 由于viewpageradapter滑动操作,无法使用itemtouchhelper滑动功能。

public SwipeHelper(ListAdapter adapter, Context context) {
    super(0, ItemTouchHelper.RIGHT);
    this.adapter = adapter;
    this.context = context;
}

public SwipeHelper(int dragDirs, int swipeDirs) {
    super(dragDirs, swipeDirs);
}

@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {

    return false;
}

@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
    Toast.makeText(context, "swipe", Toast.LENGTH_LONG).show();
}
    ItemTouchHelper.Callback callback = new SwipeHelper(adapter,getActivity());
    ItemTouchHelper helper = new ItemTouchHelper(callback);
    helper.attachToRecyclerView(leadRV);

Of-course you can implement Item Touch Helper easily but you have to keep some points in your mind. 当然,你可以轻松实现Item Touch Helper,但你必须记住一些观点。 if you are using on attach listener with reinterview to implement Item touch listener then please don't implement Item Touch Helper in Bind view holder and if you have already declared touch in on bind view holder or in view holder then don't implement it inside on attach listener. 如果你正在使用带有重新访问的附加监听器来实现项目触摸监听器,那么请不要在绑定视图持有者中实现项目触摸助手,如果你已经在绑定视图持有者或视图持有者中声明了触摸,那么不要在里面实现它在附加监听器上。 Try it and still you are getting error then update your code here. 尝试它仍然会收到错误,然后在这里更新您的代码。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM