Java 和 Android Studio 侦听器语法 [关闭]
Posted
技术标签:
【中文标题】Java 和 Android Studio 侦听器语法 [关闭]【英文标题】:Java and Android Studio listener syntax [closed] 【发布时间】:2021-05-21 06:31:03 【问题描述】:我正在学习 Java,同时将其结构与 android Studio Java 代码进行比较,以便更加熟悉。在下面的代码中,
你能解释一下new View.OnclickListener()...
的语法吗?
button2.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
clickBack();
);
【问题讨论】:
【参考方案1】:没有匿名类,相同代码的实现如下所示
class ClickListener extends View.OnClickListener
@Override
public void onClick(View view)
clickBack();
button2.setOnClickListener(ClickListener());
在java中,你可以直接创建Interface
的实例,称为匿名内部类,它会由编译器为你创建。所以实现变成了
button2.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
clickBack();
);
如果使用Java8
,这里是使用 lambdas 的更简洁的方式
button2.setOnClickListener(view -> clickBack());
【讨论】:
【参考方案2】:如果简单解释一下它是什么 我们将编写方法来了解单击按钮时会发生什么。 首先,我们需要在 java 类中识别我们的 xml 按钮 ID,并且需要使用方法查找。 然后我们就可以调用Button Seton点击监听了。
【讨论】:
以上是关于Java 和 Android Studio 侦听器语法 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用lambda表达式/缩短onclicklisteners android studio
Android Studio ML 套件无法加载 OCR 模块
android studio 中的 GPS 状态 - API 级别 29