当前位置:  开发笔记 > Android > 正文

如何使用lambda表达式/缩短onclicklisteners android studio

如何解决《如何使用lambda表达式/缩短onclicklistenersandroidstudio》经验,为你挑选了1个好方法。

在我的recyclerview客户适配器类中,我在单个项目中的每个按钮上添加了单击侦听器.但是,我需要添加点击监听器并且这样做的按钮很少,因为我有大约3-4个听众,所以我的代码很长.我想知道是否可以缩短点击监听器代码?在我研究这个问题的过程中,我遇到了lambda表达式,但是这些表达式在客户适配器中不起作用,或者我似乎无法让它们正常工作.

这是我使用atm的一个例子:工作正常,但是,我有4个,所以我想尽可能地减少代码;

myHolder.button.setOnClickListener(new View.OnClickListener()
{
    @Override
    public void onClick(View v)
    {
        // Do something
    }
});  

从研究我尝试了这个:

myHolder.button.setOnClickListener(view -> button.setText("Working"));

此代码提供错误说明:此语言级别不支持lambda表达式

我也试过这个:

myHolder.button.setOnClickListener((View v) -> {
    //Do something
    });

它给出了与上面相同的错误.

还有其他方法可以缩短代码吗?

你能帮忙的话,我会很高兴.谢谢.

编辑:

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId 'com.project.example'
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "6.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

.....依赖



1> 小智..:

Android Studio中使用的Java 8语言功能需要Jack编译器.从Android Studio 2.1支持Jack编译器.如果当前版本低于2.1,则需要更新android studio.在build.gradle文件中添加以下条目

android {
    compileSdkVersion 25
    buildToolsVersion '25.0.0'

    defaultConfig {
        applicationId "yourapplicationID"
        minSdkVersion 14
        targetSdkVersion 25
        versionCode 11
        versionName "3.1"
        jackOptions {
          enabled true
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
     }
}

dependencies {
.....
}

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有