新的 OnClickListener() 与新的 View.OnClickListener()

new OnClickListener() vs new View.OnClickListener()

当我想向 setOnClickListener 添加参数时,例如按钮,我从 eclipse 警报中单击 View.OnClickListener(),但是 eclipse 类型 new OnClickListener() 而不是 new View.OnClickListener()。这些代码有什么区别?

button.setOnClickListener(new OnClickListener() ...)

button.setOnClickListener(new View.OnClickListener() ...)

Eclipse 自动导入 View.OnClickListener,因此您不必使用 View. 前缀。

如果你 import android.view.View.OnClickListener; 你可以只使用 OnClickListener

但是

如果你import android.view.View;你必须使用View.OnClickListener

检查您的导入列表如何更改,这样会更有意义。

没有区别。

如果你的class extends from View class 或者你之前导入了View class,就不需要在前面使用"View"。

如果你没有导入视图class你需要写视图。

没有差异

它也会知道onClickListener指向了一个View。 但是如果你想在你的代码中更好地看到它是视图的一部分而不是像那样写下来。

如果您在 class 中只使用 View.OnClickListener,那么这只是一个偏好和附加信息的问题。

但考虑到您正在使用 DialogInterface.OnClickListener 编写复杂的 activity。然后你必须对其中至少一个使用外部和内部 class 的完整定义。

没有这样的方法setonclicklistener。是setOnClickListener。 同样是 OnClickListener 而不是 onclicklistener.

而且,您可以使用

  1. button.setOnClickListener(new View.OnClickListener()...);

  1. button.setOnClickListener(new OnClickListener()...);

但要使用第二种方式,您的文件中必须包含以下 import

import  android.view.View.OnClickListener;

但我建议使用 View.OnClickListener(),因为 OnClickListener() 也是与 View class 和 DialogInterface class 关联的方法.因此,如果您以后在代码中使用 DialogInterface.OnClickListener(),则必须将其改回 View.OnClickListener()DialogInterface.OnClickListener()