在我的活动中收听所有按钮按(仅限活动参数)

时间:2013-12-15 14:51:38

标签: android button view android-activity

是否可以编写一个只在其参数中获取Activity并且可以响应该活动中按下的所有按钮的函数?

我已尝试通过ViewTreeObserver注册某些内容,并且可能使用decorView但没有成功。

1 个答案:

答案 0 :(得分:0)

是的,可能。这个想法是:

  • 您在该Activity中定义一个接口。例如:

    public interface listener {         public void method(活动活动);     }

  • 在您的活动中,您应该公开一个注册侦听器的注册方法。

    public void setListener(Listener listener) {        this.listener =侦听器; }

  • 每当发生任何按钮按下/单击事件时,请从“活动”中调用接口方法。

    exampleButton.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View arg0) {
                                   listener.listenToButton(this);
                        }
    
  • 现在任何Class实现的侦听器接口都必须实现listenToButton(Activity activity)方法,这样他们就可以在任何Button按下(或点击)事件时获得对Activity的引用

相关问题