【发布时间】:2015-06-23 08:58:20
【问题描述】:
我有一个 RecyclerView 并希望允许我的用户使用滑动手势从列表中删除项目。但正如其他应用程序(例如 Gmail)所知道的那样,我想在其后面显示一个删除图标,以便我的用户知道滑动会导致删除。但是,我找不到明显的方法来做到这一点。 ItemTouchHelper 使用 viewHolder.itemView,所以它占用了整行。
我的代码:
ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new
ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT) {
@Override
public boolean onMove(
final RecyclerView recyclerView,
final RecyclerView.ViewHolder viewHolder,
final RecyclerView.ViewHolder target) {
return false;
}
@Override
public void onSwiped(
final RecyclerView.ViewHolder viewHolder,
final int swipeDir) {
adapter.remove(viewHolder.getAdapterPosition());
}
};
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(
simpleItemTouchCallback
);
itemTouchHelper.attachToRecyclerView(itemsRecyclerView);
itemsRecyclerView.setLayoutManager(
new LinearLayoutManager(getContext())
);
itemsRecyclerView.setAdapter(adapter);
如果可能的话,有谁有胶水吗?我现在唯一能想到的就是扩展 ItemTouchHelper / 复制代码,而不是使用 viewHolder.itemView,而是使用由 ID 标识的视图。
【问题讨论】:
标签: android android-recyclerview