- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在寻找,但我仍然没有找到任何东西。我试过了
View child = mirecycler.findChildViewUnder(e.getX(), and.getY());
在我的例子中,它只用于获取父级 CardView
容器“行”,我需要获取特定的 TextView
或 ImageView
。
我想将onClick
设置为ImageView
而不影响CardView
的onClick
。
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
View child = rv.findChildViewUnder(e.getX(), e.getY());
if (child != null && mGestureDetector.onTouchEvent(e)) {
Toast.makeText(MainActivity.this, "tocaste " + child, Toast.LENGTH_SHORT).show();
return true;
}
return false;
}
@Override
public void onTouchEvent(RecyclerView rv, MotionEvent e) {
}
@Override
public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
}
最佳答案
如果您必须使用 onInterceptTouchEvent,我不确定我能帮到您。我只在不需要管理特定点击时才使用它,但也许我的解决方案可以与它一起工作(虽然我没有尝试过)
我将提供一个解决方案,让您使用客户适配器检测点击点:
public class SomeRecyclerAdapter extends RecyclerView.Adapter<SomeRecyclerAdapter.SomeListViewHolder> {
....
@Override
public void onBindViewHolder(final SomeViewHolder holder, final int position) {
SomeItem item = someList.get(position);
holder.itemView.setTag(item);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SomeListItem item = (SomeListItem) holder.itemView.getTag();
Toast.makeText(context, "Recycle Click " + item.getName(), Toast.LENGTH_SHORT).show();
}
});
holder.vImage.setTag(item);
holder.vImage
.setOnClickListener(new CompoundButton.OnClickListener(){
@Override
public void onClick(View v) {
SomeListItem item = (SomeItem) holder.vImage.getTag();
Toast.makeText(context, item.getName() + " Image Clicked", Toast.LENGTH_SHORT).show();
}
});
....
public static class SomeListViewHolder extends RecyclerView.ViewHolder{
protected ImageView vImage;
public SomeListViewHolder(View itemView) {
super(itemView);
vImage = (ImageView) itemView.findViewById(R.id.tem_some_list);
}
}
}
我的示例是如何处理 Recycler Item Image 中的点击。我已经尝试过这个解决方案并且它有效,这意味着如果你点击项目(图像除外)它将打印“回收点击......”,如果你点击图像它将打印“......单击图像”。
也许(未测试,但您可以这样做并告诉我们)您可以对 CardView 使用 onInterceptTouchEvent,对图像使用 onClickListener。
我希望这就是您要找的,如果您找到更好的解决方案请告诉我。
关于android - 如何使用 onInterceptTouchEvent 从 RecyclerView 中点击特定 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33703294/
我需要你的帮助!我在它们之间放置了随机数量的 div。 Item description Item description Item description Item
我有两个 NSDates,时间格式为“h:mm a”(即 6:00 AM 和 8:00 PM)。 我试图找出这两个时间之间的中点是什么时间。 对于上面的示例,早上 6:00 和晚上 8:00 之间的中
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 8 年前。 Improve th
我正在寻找一种有效的算法来检查一个点是否在 3D 中的另一个点附近。 sqrt((x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2) < radius 这似乎并不太快,实际上我不需要这
我可以让 pandas cut/qcut 函数返回 bin 端点或 bin 中点而不是一串 bin 标签吗? 目前 pd.cut(pd.Series(np.arange(11)), bins = 5)
我是一名优秀的程序员,十分优秀!