我一直试图在单击 TextView 时显示一个选项菜单。我已经能够做到这一点。但是现在当我点击该行时,我无法进入下一个活动。RecyclerTouchListener.javapublic class RecyclerTouchListener implements RecyclerView.OnItemTouchListener { private ClickListener clicklistener; private GestureDetector gestureDetector; public RecyclerTouchListener(Context context, final RecyclerView recycleView, final ClickListener clicklistener) { this.clicklistener = clicklistener; gestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() { @Override public boolean onSingleTapUp(MotionEvent e) { return true; } @Override public void onLongPress(MotionEvent e) { View child = recycleView.findChildViewUnder(e.getX(), e.getY()); if (child != null && clicklistener != null) { clicklistener.onLongClick(child, recycleView.getChildAdapterPosition(child)); } } }); } @Override public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) { View child = rv.findChildViewUnder(e.getX(), e.getY()); if (child != null && clicklistener != null && gestureDetector.onTouchEvent(e)) { clicklistener.onClick(child, rv.getChildAdapterPosition(child)); } return false; } @Override public void onTouchEvent(RecyclerView rv, MotionEvent e) { } @Override public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) { } public interface ClickListener { void onClick(View view, int position); void onRowClick(View view, int position); void onLongClick(View view, int position); }}我在本网站上搜索了许多不同的文章,并尝试了成员发布的几种不同的解决方案,但我仍然无法进行新的活动。你如何创建一个 onClickListener() 来监听主行上的点击,以及一个 TextView。任何帮助将不胜感激。
3 回答
白衣染霜花
TA贡献1796条经验 获得超10个赞
解决方案:
删除recyclerview.onTouchListener...
.. 我们不再需要它了。
holder
对象上的单击侦听器比这更好。请看下面的例子:
类似于holder.bowlerLeagueId.setText(bowler.getLeagueId());
你也可以写:
holder.bowlerLeagueId.setOnClickListener(....) { ........ (Write here)}
然后,在您的 (Write here) 内容中,编写代码以导航到下一个活动。
同样,您可以为任何 holder.viewid.setOnClick 等执行此操作。
希望能帮助到你。
慕哥9229398
TA贡献1877条经验 获得超6个赞
我可以知道您是否在清单文件中注册了 BowlerActivity?单击视图后,请附上日志。
我看到您初始化了本地侦听器并实现了 onLongClick 和 onTouch,但是您没有设置 OnClick 事件并传输到自定义侦听器回调作为 OnRowClick 的视图
添加回答
举报
0/150
提交
取消