【问题标题】:Any way to do Android binding with Lombok accessors?有什么方法可以使用 Lombok 访问器进行 Android 绑定?
【发布时间】:2016-05-21 01:13:19
【问题描述】:

我开始玩 Android 绑定。标准(单向)绑定对于与我一起出去玩的人来说已经足够好了。

但是,我发现如果没有Could not find accessor 错误,我就无法使用 Lombok 访问器。你有没有找到解决这个问题的方法,避免像某种对 Lombok 无知的洞穴野兽那样手动编写 getter 和 setter?

@Bindable
@Getter @Setter
private String stringField;

//Must uncomment hand-coded accessors to compile!
//public String getStringField() { return stringField;}
//public void setStringField(String s) { stringField = s;}

对于后代,我最初的示例代码使用的是布尔值,这使问题有点模糊:

    @Bindable 
    @Getter @Setter private boolean showpassword = false;

/*  This only compiles if the handcoded accessors are uncommented.

    public boolean getShowpassword() {
        return showpassword;
    }
    public void setShowpassword(boolean b) {
        showpassword = b;
    }
*/

【问题讨论】:

    标签: android-layout lombok android-binding-adapter


    【解决方案1】:

    对于boolean,默认生成的“getter”是isShowpassword,遵循beanspec。生成的“setter”是setShowPassword。错误消息表明它是无法找到的“getter”。

    您可以使用配置密钥来更改此行为。根据documentation,如果您在lombok.config 中包含以下内容,您的程序应该可以在没有手写getter 和setter 的情况下工作:

    lombok.getter.noIsPrefix = true
    

    【讨论】:

    • 我用了一个不好的例子;绑定到 lombok 访问的字符串时也是同样的错误。但是,是的,设置 noIsPrefix 时同样的错误。除了添加手动编码的访问器之外,错误消失了。
    • 这和Android studio 2.1.1有关吗?
    • 这就是我正在使用的,我没有尝试用其他任何东西构建。它适用于其他一些开发环境吗?
    猜你喜欢
    • 2018-06-16
    • 2023-01-10
    • 1970-01-01
    • 2011-01-09
    • 2015-10-18
    • 1970-01-01
    • 2011-11-09
    • 1970-01-01
    • 2012-01-10
    相关资源
    最近更新 更多