提问人:uwe 提问时间:1/13/2022 最后编辑:uwe 更新时间:1/13/2022 访问量:131
ItemTouchHelper.SimpleCallback onSwiped in 嵌套的 RecyclerView 和 CardView
ItemTouchHelper.SimpleCallback onSwiped in nested RecyclerView with CardViews
问:
在我的应用程序中,我有一个显示 CardView 的(主要)RecyclerView。在显示的每个 CardView 中,依次有一个(辅助)RecyclerView,它也显示 CardView。(嵌套 RecyclerView) 这些(辅助)RecyclerView 是在主 RecyclerView 适配器的 onBindViewHolder 方法中设置的,我还允许使用 ItemTouchHelper 在(辅助)RecyclerView 中滑动 CardView。
public void onBindViewHolder( RkTageViewHolder holder, int position ) {
...
LinearLayoutManager layoutManager = new LinearLayoutManager( holder.rvAbschnitte.getContext(), LinearLayoutManager.VERTICAL, false);
current.setRkAbschnitte(m_rkAbschnittDao.getRkAbschnittListe(current.getReiseID()));
layoutManager.setInitialPrefetchItemCount(current.getRkAbschnitte().size());
RkAbschnitteAdapter rkAbschnitteAdapter = new rkAbschnitteAdapter(current.getRkAbschnitte());
holder.rvAbschnitte.setLayoutManager(layoutManager);
holder.rvAbschnitte.setAdapter(rkAbschnitteAdapter);
...
new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
@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(holder.rvAbschnitte.getContext(), "Löschen aktuell nicht möglich...", Toast.LENGTH_SHORT).show();
}
}).attachToRecyclerView(holder.rvAbschnitte);
...
}
一切正常,直到我还允许在主 RecyclerView 中滑动 CardView。无论我在哪里滑动,在主 RecyclerView 中都只有 CardView 被移动。
如果我只允许在主 RecyclerView 中向右滑动,在辅助 RecyclerView 中向左滑动,则它可以工作。只要我允许在两个 RecyclerView 中沿同一方向滑动,就会只移动主 RecyclerView 中的 cardView。
有没有办法告诉主 RecyclerView 在执行滑动时它会将滑动命令传递给其子 RecyclerView?
非常感谢
乌韦
答: 暂无答案
评论