【问题标题】:Item touch listener for recycler view回收站视图的项目触摸监听器
【发布时间】:2015-10-07 14:19:42
【问题描述】:

如何在回收器视图中监听触摸事件?我已经为视图持有者实现了点击监听器,但这适用于整个视图。我在每个视图持有者中都有一个图像视图,当用户点击一个图像视图时我需要执行一个操作。

    public class ViewHolder_Custom extends RecyclerView.ViewHolder implements View.OnClickListener {

    private TextView name;
    private ImageView image_path;
    private static ClickListener clickListener_custom;

    public ViewHolder_Custom(View itemView) {
        super(itemView);
        name = (TextView) itemView.findViewById(R.id.name);
        image_path = (ImageView) itemView.findViewById(R.id.image);
        itemView.setOnClickListener(this);
    }

    public TextView getName() {
        return name;
    }


    @Override
    public void onClick(View view) {
        if (clickListener_custom != null) {
            clickListener_custom.itemClick(view, getAdapterPosition());
        }
    }

    public ImageView getImage_path() {
        return image_path;
    }

    public interface ClickListener {
        void itemClick(View v, int position);
    }

    public static void setClickListener(ClickListener clickListener) {
        ViewHolder_Custom.clickListener_custom = clickListener;
    }
}

当前视图持有者代码。

【问题讨论】:

    标签: android view click touch android-recyclerview


    【解决方案1】:

    由于您想在单击项目中的每个imageview时执行操作,您可以为每个viewholder的imageview添加onClickListener。根据执行触摸侦听器的顺序,您的imageview的侦听器将在添加到viewholder.view的侦听器之前执行.

    【讨论】:

    • 我已经添加了我当前的代码,目前我正在使用一个接口,所以我可以在任何实现该接口的类中使用该接口并在那里获取点击事件,你能告诉我我需要添加什么以便我获得图像的单击事件以及如何在任何其他类中处理该事件。
    • 在`itemView.setOnClickListener(this);`之前添加image_path.setOnClickListener(***),然后根据需要添加要添加到imageview的监听器。
    猜你喜欢
    • 2013-03-20
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多