当前位置: 首页 > 知识库问答 >
问题:

单击Listeners以回收查看[重复]

阎咏思
2023-03-14
// row click listener
recyclerView.addOnItemTouchListener(new RecyclerTouchListener(getApplicationContext(), recyclerView, new RecyclerTouchListener.ClickListener() {

    @Override
    public void onClick(View view, final int position) {

        ImageView viewContent = (ImageView)view.findViewById(R.id.btnViewContent);
        ImageView deleteContent = (ImageView)view.findViewById(R.id.btnDeleteContent);

        viewContent.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(getApplicationContext(), "VIEW CONTENT", Toast.LENGTH_SHORT).show();
            }
        });

        deleteContent.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(getApplicationContext(), "DELETE CONTENT", Toast.LENGTH_SHORT).show();
            }
        });

    }

    @Override
    public void onLongClick(View view, int position) {}

}));

有什么想法如何将其转化为单点击解决方案吗?建议,甚至是一个单独的评论,都会帮我很大的忙。

共有1个答案

龙才俊
2023-03-14

这不是正确的方法,正如我们的一位朋友所建议的那样,OnBindViewWholder在滚动过程中会一次又一次地被加载,所以在那里添加listener并不是最佳实践。

最好的方法是按照我的建议在ViewHolder上添加它。检查我上面的答案。

在OnBindViewWholder方法中添加imageView单击侦听器

@Override
public void onBindViewHolder(@NonNull final MyViewHolder holder, int position) {

    holder.btnClassAddCart.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // Do what you want here
        }
    });
 类似资料:
  • 如果用户点击一个,我希望它做一些事情,也为两个和三个。我如何实现这一点?

  • 我使用RecolyerView创建了一个图像水平列表视图,当我单击一个特定的图像时,我想用我的活动的图像改变背景图像,但我面临的问题是,我如何在我的MainActivity中为RecolyerView项目设置onItem click?

  • 我正在尝试将RecyclerView居中,但其layout_width为wrap_content时未成功 当RecyclerView被给定任何确定的layout_width(比如200dp)时,它会居中,否则它只会向左对齐。 如何使回收器视图center_horizontal,当其layout_width wrap_content?

  • 我正在尝试实现项的刷取。实施大多以此为基础。 背景: 当用户滑动视图时,视图被移动到正确的位置,但它不会消失。-好 然后:当用户点击(不是滑动)滑动的项目时,转义动画被触发(默认一个)。-好 为了更好地演示行为,我创建了一个GIF。 演示某人是否感兴趣的示例项目。

  • 我需要帮助,点击回收人员视图并打开新的动作,我点击了项目列表关闭应用程序和logcat错误是:java.lang.NullPointerExc0019:尝试调用虚拟方法java.lang.字符串android.content.Context.getPackageName()'在一个空对象引用 我的代码: 我的公共课程是: 什么是问题?我在网上搜索,在论坛,但我不能解决我的问题

  • 我见过的变通方法,但没有。有什么想法吗?