修改:不,对于给定的链接,这不是重复,要求对setOnClickListener
和android:onClick
进行比较。我甚至没有要求进行比较,但我问的是实施View.OnClickListener
的优势。
请自由投票重新开启。
许多人优先使用
public class TrumpLocator extends Clinton implements View.onClickListener{
@Override
public void onClick(View v){
//...
}
}
但是,如果我没有弄错,无论如何,在Button
你必须这样做:
android:onClick="onClick"
但是,如果我没有弄错,如果我们不覆盖onClick
并实施View.onClickListener
,我们将会达到同样的效果:
//no override and no "implements onClickListener"
public void onClick(View v){
//...
}
和
android:onClick="onClick"
那么,与简单地应用点击监听器相比,实现该方法有什么优势吗?这不仅仅是浪费代码吗?
答案 0 :(得分:3)
无论哪种方式,你必须在你的按钮上执行:
android:onClick="onClick"
不,这不是必需的。
我认为你可能会倒退。通过android:onClick="onClick"
,需要在引号中使用该名称的public void
方法。
public void onClick(View v){
//...
}
这类似于实现接口,但不完全相同。换句话说,它也可能是android:onClick="handleClick"
,那么你需要
public void handleClick(View v){
//...
}
人们可能不喜欢这个,因为它会导致拼写听众附加的拼写错误和不确定性。
现在,Activity不需要实现接口本身,您可以单独将匿名类侦听器附加到视图。