哪个是设置监听器的更好方法?

时间:2015-02-05 18:02:33

标签: java android performance listener

我还没有想出在android中设置监听器的首选方法。我倾向于设置我的听众:

(第一种方式)

myButton.setOnClickListener(this);

而不是

(第二种方式)

myButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //handle clicks
            }
        });

但是我最近遇到了this个问题,其中一条评论说:

  

...使用较小的类作为侦听器接口与传递   整个适配器充当接口。

据我所知,内部类具有对外部类的隐式引用,因此根据您设置侦听器的方式应该不会影响传入/引用的对象。

有人可以澄清哪种方式更好,为什么?使用this(第一种方式)比拥有匿名内部类(第二种方式)更贵吗?

1 个答案:

答案 0 :(得分:0)

使用哪一个并不重要。但有些情况下,一种方法比其他方法“更好”。例如:

- 如果您只有几个可点击的视图,则整个活动不需要实现OnClickListener接口。所以在这种情况下,我更喜欢你的“第二种方式”

- 否则,如果您有更多可点击的观看次数,或者您的活动主要包含可点击的观看次数,则首选“第一种方式”。它并没有真正产生很大的影响,但您的代码更加有条理

此外,您可以阅读此post并了解这两种方法之间的区别。