Android自定义按钮通用点击处理程序

时间:2012-12-15 12:43:06

标签: android android-button android-custom-view buttonclick

我正在尝试实现一个自定义按钮,它允许我在单击按钮时执行一组标准操作(例如编写日志),并执行特定于每个按钮实例的指定单击侦听器。可能吗?

非常感谢

2 个答案:

答案 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;
        }
    }

希望它对你有所帮助。

感谢。