我点击它时有一个自定义视图(按钮)我想先做一些动画。
mycustomButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//FIRST
startAnimation()
//THEN
//... call what you want ...
}
});
此代码有效但我想为许多应用程序使用相同的自定义视图,我不想为每个应用程序复制相同的代码,因此我创建了一个模块(包含):
所以我想将我的模块用于多个应用程序。当我点击我的自定义视图时,每次我都做同样的事情:
我点击它时如何在点击监听器上实现自定义我之前做了一个动画,我想保持点击参数的默认值(查看视图)
类似的东西:
mycustomview.setCustomOnClickListener(new MyCustomView.OnClickListener() {
@Override
public void onClick(View view) {
//... call what you want ...
}
});
示例:
应用1:
mycustomview.setCustomOnClickListener(new MyCustomView.OnClickListener() {
@Override
public void onClick(View view) {
callCalenderActivity();
}
});
App 2:
mycustomview.setCustomOnClickListener(new MyCustomView.OnClickListener() {
@Override
public void onClick(View view) {
compute();
callOpenGLActivity();
}
});
答案 0 :(得分:1)
覆盖setOnClickListener,以便将传入的侦听器保存在变量中。在构造函数中,编写一个自定义的OnClickListener来执行您想要的操作,然后调用已保存的listener.onClick,如果它不为null。然后使用super.setOnClickListener设置自定义单击侦听器。
OnClickListener childListener;
public void setOnClickListener(OnClickListener listener) {
childListener = listener;
}
Constructor() {
super.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
//Do what you want
if(childListener != null) {
childListener.onClick(view);
}
}
});
}