java - 同时使用 OnTouchListener 和 OnClickListener
问题描述
我有一个recyclerview。设置适配器后,用户应重新排序列表并保存。之后它应该像保存的一样填充。但是在单击列表项时,它的颜色必须改变,其中一项将打开一个弹出窗口。我已经编写了代码,但是当我同时添加 onclick 和 ontouch 时,它们都不起作用。如果我评论其中一个,它们工作正常。我该如何解决这个问题?
holder.itemView.setOnTouchListener((v, event) -> {
if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
touchHelper.startDrag(holder);
}
return false;
});
holder.clData.setOnLongClickListener(view -> {
row_index = position;
notifyDataSetChanged();
return true;
});
if (row_index == position) {
holder.clData.setBackgroundColor(context.getResources().getColor(R.color.blue_back));
holder.txtAmount.setTextColor(Color.WHITE);
} else {
holder.clData.setBackgroundColor(context.getResources().getColor(R.color.darkestGrey));
holder.txtAmount.setTextColor(context.getResources().getColor(R.color.blue_current));
}
/// https://github.com/sjthn/RecyclerViewDemo/blob/advanced-usecases/app/src/main/java/com/example/srijith/recyclerviewdemo/SwipeAndDragHelper.java
////// My Adapter
AdapterDatas adapter = new AdapterDatas (context, lstDatas);
SwipeAndDragHelper swipeAndDragHelper = new SwipeAndDragHelper(adapter);
ItemTouchHelper touchHelper = new ItemTouchHelper(swipeAndDragHelper);
adapter.setTouchHelper(touchHelper);
rvDatas.setAdapter(adapter);
touchHelper.attachToRecyclerView(rvDatas);
解决方案
推荐阅读
- regex - 如何对嵌套的动态键应用 Mongo DB 查找命令
- asp.net - 根据第一个下拉asp.net的选择填充下拉值和项目
- python - 检测嘈杂的背景/对象 - OpenCV
- java - 如何使用 pdfHtml 插件使用 iText 7 或 5 实现 Aztec-barcode?
- laravel - 在具有多个附加搜索过滤器的类似查询中使用数组
- python - 在栅格中查找方向变化的算法
- javascript - js树在处理选中/取消选中事件并将所有复选框设置为true时不起作用
- ios - 我什么时候应该屏蔽 UITableView 部分单元格的角?
- javascript - 我对步骤计数有疑问-reactjs 表单
- jquery - 在 HTML 页面或模板中使用 Django-REST-Framework 从 Django 中创建的 API 获取/显示 API 数据