gpt4 book ai didi

android - 如果我们必须设置 android :onClick either way?,为什么我们要实现 View.OnClickListener

转载 作者:搜寻专家 更新时间:2023-11-01 08:31:20 25 4
gpt4 key购买 nike

编辑:不,这不是重复的,因为给定链接要求比较 setOnClickListenerandroid: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"

那么,与简单地应用点击监听器相比,实现该方法有什么优势吗?不就是浪费代码吗?

最佳答案

either way, on your Button you have to do:

android:onClick="onClick"

不,这不是必需的。

我想你可能把它倒过来了。通过 android:onClick="onClick",您需要一个 public void 方法,该方法在引号中包含该名称。

public void onClick(View v){
//...
}

这类似于实现接口(interface),但不完全相同。换句话说,它也可以是 android:onClick="handleClick",那么你需要

public void handleClick(View v){
//...
}

人们可能不喜欢这样做,因为它会导致拼写错误和不确定点击监听器的附加位置。


现在,Activity 不需要自己实现接口(interface),您可以将匿名类监听器单独附加到 View 。

关于android - 如果我们必须设置 android :onClick either way?,为什么我们要实现 View.OnClickListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40471106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com