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

java 带有正面,负面和取消侦听器的Android对话框。

Android Studio 学习 广播

Firebase 侦听器在 Java(Android) 中被阻止