如何为所有按钮添加一般监听器(没有侵入性)?

Zeu*_*ics 7 android

当你按下应用程序的任何按钮时,我会尝试播放声音.

将侦听器添加到应用程序中的所有按钮的次要侵入方式如何?

我可以添加覆盖(和扩展)Android的通用侦听器吗?

谢谢.

Bha*_*ara 4

您可以为所有按钮设置一个监听器,也可以通过标签进行识别。

View.OnClickListener myClickLIstener= new View.OnClickListener() {
    public void onClick(View v) {
        String tag = (String) v.getTag();
        Log.e("","tag : "+tag)
       // your stuff
    }
};
Run Code Online (Sandbox Code Playgroud)

设置监听器...

btn1.setOnClickListener(myClickLIstener);
btn1.setTag("btn1");
btn2.setOnClickListener(myClickLIstener);
btn2.setTag("btn2");
Run Code Online (Sandbox Code Playgroud)

编辑 :

你是不是在找这样的...

class superTop implements View.OnClickListener {

        @Override
        public void onClick(View v) {
            Log.e("", "onClick superTop");
        }

    }

    class NewClick extends superTop implements View.OnClickListener {

        @Override
        public void onClick(View v) {
            Log.e("", "onClick NewClick");

            super.onClick(v);

        }

    }

    findViewById(R.id.button1).setOnClickListener(new NewClick());
Run Code Online (Sandbox Code Playgroud)

您可以调用两个侦听器...