我有一个可点击的自定义TextView.它定义了自己的onClick处理程序,以便根据点击次数更改其外观.但是,如果我在我的活动中定义第二个onClick处理程序,以便根据被单击的按钮执行某些操作,则只调用其中一个onClick函数. onClick是一个void函数 – 有没有办法说我没有处理这个点击,请把它传递给其他onClick处理程序?
这里要更清楚的是代码:
在扩展TextView的MyCheckButton里面我有:
setOnClickListener( mClickListener );
private OnClickListener mClickListener = new OnClickListener() {
public void onClick(View v) {
toggle();
}
};
但是我将MyCheckButton包含到我的Activity中,当然我需要在点击它时做一些事情,所以我将另一个OnClickListener附加到它:
MyCheckButton button= (MyCheckButtonButton) findViewById(R.id.cb);
button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// do something in the app
}
});
通过调用setOnClickListener两次,看起来我正在替换原始侦听器,因此更改外观的toggle()永远不会被调用.如果单击此按钮已经使用onClick处理程序更改其外观,如何在我的活动中执行某些操作?我以为我只会看到两个OnClickListeners被调用.