setOnClickListener到所有扩展图像视图-Java

setOnClickListener到所有扩展图像视图-Java,java,android,event-handling,Java,Android,Event Handling,我编写了一个自定义类,它扩展了ImageView(适用于Android Java)。我想在我创建的类的每个实例中添加一个ClickListener,它将做同样的事情(只需设置ImageView的动画) 我尝试了一些不同的方法,但没有成功。下面的代码是我想要完成的,但是它被应用到类的实例化对象 MyCustomImageView fd = new MyCustomImageView(this); fd.setOnClickListener(new OnClickListener(){

我编写了一个自定义类,它扩展了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()方法,但这对我来说不起作用

我还尝试用“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
的每个实例都有相同的事件侦听器(除非您从外部重写它).

hmm…我还添加了另一个方法,我在单击图像时调用该方法,但它从未到达另一个方法。Eclipse还告诉我,CommonListener从未在本地读取过…有什么想法吗?糟糕!我忘了从我创建的对象中删除侦听器…这太完美了!谢谢。