java - setOnClickListener 到所有扩展的 ImageView - Java

标签 java android event-handling

我编写了一个扩展 ImageView 的自定义类(适用于 Android Java)。我想将 ClickListener 添加到我创建的类的每个实例中,该实例将执行相同的操作(仅对 ImageView 进行动画处理。

我尝试了一些不同的方法,但没有成功。下面的代码是我想要完成的,但它被应用于该类的实例化对象。

MyCustomImageView fd = new MyCustomImageView(this);
fd.setOnClickListener(new OnClickListener(){
            public void onClick(View v) {
                Animater(fd);
            }
        });

我尝试在类声明中使用“implements onClickListener”,然后在类中使用 public void onClick() 方法,但这对我不起作用。

我还尝试将上面的代码 fragment 与“this”而不是“fd”一起使用,但这也不起作用。

我对java比较陌生,这超出了我的知识范围。非常感谢您提供的任何帮助。

最佳答案

这真的很容易。您必须在自定义类中执行此操作:

public class MyCustomImageView extends ImageView{

    public MyCustomImageView(Context context){
        super(context);
        setOnClickListener(theCommonListener);
    }

    private OnClickListener theCommonListener = new OnClickListener(){
        public void onClick(View v) {
             // do what you want here
        }
    }
}

还有其他方法可以做到这一点,但这是一种非常容易实现和理解的方法。 MyCustomImageView 的每个实例都将具有相同的事件监听器(除非您从外部覆盖它)。

关于java - setOnClickListener 到所有扩展的 ImageView - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3518581/

相关文章:

java - 我的主应用程序菜单无法打开

java - 如何从 hbox 中删除形状?

java - HTTP 状态 404 - spring mvc java web

java - 我需要以非常具体的方式验证 SSN

java - 无法获取img标签

android - AppSync 和推送通知

java - 无法将 xml 字符串转换为 w3c 文档

android - 如何更改插页式广告的频率

java - 单击按钮时如何停止不断覆盖变量?

javascript - 单击处理程序上的 jQuery 事件不起作用