在Android Studio中的Koltin类中生成Getter和Setters

问题描述 投票:0回答:3

我试图在我的Kotlin模型类中生成Getter和Setters,而不用手动编写代码,但是这些选项未显示在Android Studio的Generate Menu中。

我的模型班(科特琳)

import com.google.gson.annotations.Expose
import com.google.gson.annotations.SerializedName

public class EventsRoadSummaryAPINodeModel {

    @SerializedName("road_name")
    @Expose
    var road_name: String? = null

    @SerializedName("locality")
    @Expose
    var locality: String? = null

    @SerializedName("postcode")
    @Expose
    var postcode: String? = null

    @SerializedName("local_government_area")
    @Expose
    var local_government_area: String? = null

    @SerializedName("district")
    @Expose
    var district: String? = null
}

请问如何在Kotlin类中生成吸气剂和吸气剂?

android-studio kotlin getter-setter
3个回答
2
投票

根据Kotlin Properties and Fields documentation,每个可变(即var)属性都有为其自动创建的getter和setter。

因此,没有理由为Kotlin代码自动生成吸气剂和吸气剂。

例如,如果需要特别在生成的getter上添加注释,则可以使用@get:Expose语法。


0
投票

好,所以穷人解决方案是将下面的Kotlin代码粘贴到Java文件中,然后将变量重新格式化为Java代码。然后,在“生成”菜单中显示用于生成Getters Setters的选项,您可以在其中处理和生成Getters Setters。

用于生成Getters Setters的临时Java文件

public class EventsRoadSummaryAPINodeModel {

  @SerializedName("road_name")
  @Expose
  String road_name;

  @SerializedName("locality")
  @Expose
  String  locality;

  @SerializedName("postcode")
  @Expose
  String  postcode;

  @SerializedName("local_government_area")
  @Expose
  String  local_government_area;

  @SerializedName("district")
  @Expose
  String  district;

}

然后我将生成的Getters Setters粘贴到我原始的Kotlin类文件中,并让android studio将粘贴的代码重新格式化为Kotlin格式。


0
投票

您可以使用'数据类'。在数据类中,您无需进行Getter-Setter方法。数据类自动为您创建]

Kotlin文档link

检查Google Codelab示例是否具有相同的link

© www.soinside.com 2019 - 2024. All rights reserved.