我正在尝试实现一个自定义按钮,它允许我在单击按钮时执行一组标准操作(例如编写日志),并执行特定于每个按钮实例的指定单击侦听器。可能吗?
非常感谢
答案 0 :(得分:6)
通过这种方式找到解决方案,对于按钮的每个实例,我可以在执行指定的点击监听器之前执行一组标准操作(在这种情况下,它只是编写日志)
@Override
public void setOnClickListener(final OnClickListener l) {
super.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
LogHelper.WriteLogInfo("click");
l.onClick(v);
}
});
}
答案 1 :(得分:2)
试试这个:
为您的活动实施OnClickListener:
public class MainActivity extends Activity implements OnClickListener
为所有视图添加点击侦听器,如下所示:
boldButton = (Button) findViewById(R.id.bold);
boldButton.setOnClickListener(this);
然后覆盖所有视图通用的OnClick事件:
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.bold:
// Do Something
break;
case R.id.italic:
// Do Something
break;
case R.id.underline:
// Do Something
break;
case R.id.reset:
// Do Something
break;
default:
break;
}
}
希望它对你有所帮助。
感谢。