“cl”的主观性取决于你在执行你的活动处理器方面的效率如何,以及你的看法如何复杂。
例如,我在这里看到了类似SO...的范例守则。
button1.setOnClickListener(new View.OnClickListener {...});
button2.setOnClickListener(new View.OnClickListener {...});
button3.setOnClickListener(new View.OnClickListener {...});
每种情况下,每个个人匿名听众<代码>Button往往履行非常相似的职能(启动活动1,开始活动2.......)。 最为清洁的方式是执行<代码>。 View.OnClickListener on Actative
button1.setOnClickListener(this);
......(按每条<代码>Button)获得<代码>的资源。 意见代码>在听众中获得通过,以确定被点击和需要做什么。 令我惊讶的是,有多少人没有这样做。
As for creating a separate class (or classes) to hold listeners, that gets tricky depending on how many activities you have going on. Maintaining the listeners separately has two downsides.
首先,如果你不采用“<>代谢”模式,即使用匿名听众或直接执行听众,那就意味着你利用你的助老会的听众开展各种活动(有时会延长)。 每次延长您的<条码>活动<> 代码>时,你都需要确保单独类别得到更新,以应付这一变化——有可能是视而不见的,因为你想要从<条码>活动<<>代码/代码”中找到新内容,而你的普通听众却不处理这种问题。
The second potential problem is in the way Android works (depending on your app). An Android Activity
is meant to be modular - if it displays photos or images or documents of a particular format then it should be as self-contained as possible. Having a separate class with a multitude of listeners in means that a very simple Activity
meant to do a very simple task ends up loading a bloat of a class (or classes) which contains a whole load of listeners which aren t relevant.
简明扼要——选择每个<代码>的听众,并保持其自成一体。 如果你感到存在任何重复,确定自己的基础课程并从那里延伸。