如何在 RecyclerView.Adapter 中获取 Snackbar 的视图?
How to get View in RecyclerView.Adapter for Snackbar?
我正在通过此 article 的帮助在 RecyclerView
中实施 滑动 和拖动。删除项目时我想显示 SnackBar
但显示 SnackBar
需要查看。我不知道如何在 RecyclerAdapter
.
的函数中获取 View
我的代码:
public void onItemDismiss(int position) {
notes.remove(position);
notifyItemRemoved(position);
/* Show SnackBar */
}
编辑:我的问题与 this question 不同。我在实施方面没有任何问题 SwipetoDismiss.I 已成功实施。但我想显示一个 SnackBar,以便可以通知用户和撤消。我在显示 SnackBar 时遇到问题,而不是在实现 onSwiped() 时遇到问题。
修改您的方法并将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);
}
您可以通过对上下文进行类型转换来使用 Android 的内容视图
Activity activity=(Activity) context;
并在 snackbar 中使用以获取视图
Snackbar.make(activity.findViewById(android.R.id.content),"Hello",BaseTransientBottomBar.LENGTH_LONG).show
我正在通过此 article 的帮助在 RecyclerView
中实施 滑动 和拖动。删除项目时我想显示 SnackBar
但显示 SnackBar
需要查看。我不知道如何在 RecyclerAdapter
.
View
我的代码:
public void onItemDismiss(int position) {
notes.remove(position);
notifyItemRemoved(position);
/* Show SnackBar */
}
编辑:我的问题与 this question 不同。我在实施方面没有任何问题 SwipetoDismiss.I 已成功实施。但我想显示一个 SnackBar,以便可以通知用户和撤消。我在显示 SnackBar 时遇到问题,而不是在实现 onSwiped() 时遇到问题。
修改您的方法并将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);
}
您可以通过对上下文进行类型转换来使用 Android 的内容视图
Activity activity=(Activity) context;
并在 snackbar 中使用以获取视图
Snackbar.make(activity.findViewById(android.R.id.content),"Hello",BaseTransientBottomBar.LENGTH_LONG).show