1
我还没有完全想到在Android中设置侦听器的首选方式。我倾向于设立我的听众是这样的:哪种设置侦听器更好?
,而不是
(第二路)(第一种方式)
myButton.setOnClickListener(this);
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//handle clicks
}
});
不过,我最近碰到this问题就来了其中一条评论说:
...使用较小的类作为侦听器接口,并将整个适配器作为接口传递给 。
据我的理解,内部类有一个隐式引用外部的一个,所以取决于你如何设置监听器应该不会影响什么对象被传入/被引用。
有人可以澄清哪个更好,为什么?使用this
(第一种方法)比拥有匿名内部类(第二种方法)更昂贵?
我从来没有注意到任何种类的差异。如果我需要将侦听器添加到多个视图,我选择第一种方法;第二否则。 – Rohit5k2 2015-02-05 18:10:26
选项三:使用(非匿名)内部类。 – nhaarman 2015-02-05 22:43:29
我不明白为什么@ 323go,eckes,汤姆,尼克哈曼,klossus是投票结束作为有见地的问题?我并不要求就此发表意见。我只是想知道哪个更贵,为什么性能更好 – Naveed 2015-02-06 04:51:16