我有一个我编写的自定义类,它扩展了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()方法,这对我来说无效。
我还尝试使用上面的代码片段而不是“fd”而不是“fd”,这也不起作用。
我对java比较新,这超出了我的知识范围。非常感谢您提供的任何帮助。
答案 0 :(得分:1)
这真的很容易。您必须在自定义类中执行此操作:
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
的每个实例都将具有相同的事件侦听器(除非您从外部覆盖它)。