2012-01-12 55 views

回答

1

“混乱”有点主观取决于您在实现事件处理程序时的效率以及您的应用程序的复杂程度。

比如我在这里看到的示例代码上那么像......

button1.setOnClickListener(new View.OnClickListener {...}); 
button2.setOnClickListener(new View.OnClickListener {...}); 
button3.setOnClickListener(new View.OnClickListener {...}); 

在各种情况下为每个Button匿名听众往往执行非常相似的功能(Start活动1,活动开始2 ....)。最干净的方法是在Activity实施View.OnClickListener本身,然后使用...

button1.setOnClickListener(this); 

......(依此类推每个Button)则获得View传递给听者的资源ID确定点击的内容以及需要完成的工作。令我惊讶的是,有多少人不知道。

至于创建一个单独的类(或类)来容纳侦听器,这取决于你进行了多少活动而变得棘手。分开维护听众有两个缺点。

首先,如果你不与具有Activity使用匿名听众的模型去或直接实现监听,那意味着你将有一个活动的整体负载使用您的'(可能在某个时候被扩展)助手“班的听众。每次你延长你的Activity时,你需要确保单独的课程被更新以应对它 - 可能是看不见的,你想从你的'通用'听众无法处理的Activity中得到新的东西。

第二个潜在的问题是Android的工作方式(取决于您的应用程序)。 Android Activity应该是模块化的 - 如果它显示特定格式的照片或图像或文档,那么它应该尽可能独立。有一个单独的类与众多的监听器在意味着一个非常简单的Activity意味着做一个非常简单的任务最终加载一个类(或类),其中包含整个负载的监听器是不相关的。

坚持简单 - 优化每个Activity的听众并保持它们独立。如果您觉得有任何重复,请定义您自己的基类并从此处扩展。

0

目前尚不清楚你想得到什么结果。据我所知,你不想创建任何活动子类来处理UI事件。如果是这样,那么这真的很奇怪 - 你会如何显示那些不在活动中的视图?

相关问题