ItemTouchHelper 仅滑动
ItemTouchHelper swipe only
我已经使用了 Recycler View,我只想使用 TouchHelper 滑动一个特定的项目然后转到另一个 activity,但问题是,滑动发生新的 activity 也开始但继续回到原来的 activity,我刷过的卡不在那里意味着它 deletes/invisble 特定的项目。
我也没有通知Adapter
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.RIGHT) {
@Override
public boolean onMove(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ViewHolder target) { return false; }
@Override
public void onSwiped(@NonNull RecyclerView.ViewHolder target, int direction) {
int targetPosition = target.getAdapterPosition();
Intent intent = new Intent(Activity_mainAll.this, test.class);
startActivity(intent);
//Toast.makeText(Activity_mainAll.this, ""+targetPosition, Toast.LENGTH_SHORT).show();
}
});
itemTouchHelper.attachToRecyclerView(recyclerView);
编辑:项目数据没有从 ArrayList 中删除,只是物理卡片消失了,我只希望当我返回卡片时刷卡在那里 Activity
可以使用onResume方法重新加载
@Override
protected void onResume() {
super.onResume();
recyclerView.getAdapter().notifyDataSetChanged();
}
或
@Override
protected void onResume() {
super.onResume();
recyclerView.getAdapter().notifyItemChanged(targetPosition);
// targetPosition cannot be null
}
我已经使用了 Recycler View,我只想使用 TouchHelper 滑动一个特定的项目然后转到另一个 activity,但问题是,滑动发生新的 activity 也开始但继续回到原来的 activity,我刷过的卡不在那里意味着它 deletes/invisble 特定的项目。
我也没有通知Adapter
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.RIGHT) {
@Override
public boolean onMove(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ViewHolder target) { return false; }
@Override
public void onSwiped(@NonNull RecyclerView.ViewHolder target, int direction) {
int targetPosition = target.getAdapterPosition();
Intent intent = new Intent(Activity_mainAll.this, test.class);
startActivity(intent);
//Toast.makeText(Activity_mainAll.this, ""+targetPosition, Toast.LENGTH_SHORT).show();
}
});
itemTouchHelper.attachToRecyclerView(recyclerView);
编辑:项目数据没有从 ArrayList 中删除,只是物理卡片消失了,我只希望当我返回卡片时刷卡在那里 Activity
可以使用onResume方法重新加载
@Override
protected void onResume() {
super.onResume();
recyclerView.getAdapter().notifyDataSetChanged();
}
或
@Override
protected void onResume() {
super.onResume();
recyclerView.getAdapter().notifyItemChanged(targetPosition);
// targetPosition cannot be null
}