我正在实施滑动并在此article的帮助下拖动RecyclerView
。在删除项目时,我想显示SnackBar
,但显示SnackBar
需要查看。我不知道如何在View
的功能中获得RecyclerAdapter
。
我的代码:
public void onItemDismiss(int position) {
notes.remove(position);
notifyItemRemoved(position);
/* Show SnackBar */
}
编辑:我的问题与this question不同。我在实现SwipetoDismiss方面没有任何问题。我已经成功实现了它。但我想显示一个SnackBar,以便用户可以进行修改和撤消。我在显示SnackBar时没有实现onSwiped()的问题。
答案 0 :(得分:7)
修改您的方法并将RecyclerView
作为参数传递,以便您获得视图
public void onItemDismiss(int position,RecyclerView rv) {
notes.remove(position);
notifyItemRemoved(position);
/* Show SnackBar */
Snackbar.make(rv, R.string.snackbar_text, Snackbar.LENGTH_LONG).show();
}
修改强>
private final ItemTouchHelperAdapter mAdapter;
private final RecyclerView rv;
public SimpleItemTouchHelperCallback(ItemTouchHelperAdapter adapter,RecyclerView rv) {
mAdapter = adapter;
this.rv=rv;
}
然后传递
@Override
public void onSwiped(ViewHolder viewHolder, int direction) {
mAdapter.onItemDismiss(viewHolder.getAdapterPosition(),rv);
}
答案 1 :(得分:0)
您可以通过对上下文进行类型转换来使用 Android 的内容视图
Activity activity=(Activity) context;
并在小吃店中使用以获取视图
Snackbar.make(activity.findViewById(android.R.id.content),"Hello",BaseTransientBottomBar.LENGTH_LONG).show