【问题标题】:How to automatically generate getters and setters in Android Studio如何在 Android Studio 中自动生成 getter 和 setter
【发布时间】:2014-07-16 19:50:04
【问题描述】:

Android Studio 中是否有用于在给定类中自动生成 getter 和 setter 的快捷方式?

【问题讨论】:

    标签: android-studio shortcut


    【解决方案1】:

    在编辑器中使用 Alt+ Insert for Windows 或 Command+ N for Mac,您可以轻松为类的任何字段生成 getter 和 setter 方法。这与使用菜单栏的效果相同 -> Code -> Generate...

    然后使用 shift 或 control 按钮,选择所有需要添加 getter 和 setter 的变量

    【讨论】:

    • 对于 Mac 上的用户,它是 control + enter。
    • 是否有可能创建 getter 和 setter,例如 ivar _username,getter 和 setter 是 getUsername 和 setUsername?
    • 在 Mac 上 Control+n
    • 对于java来说它工作正常。但是我在android studio中使用kotlin进行应用程序开发。那么如何像java一样生成getter/setter?
    • 如何为 Kotlin 类生成 getter 和 setter
    【解决方案2】:

    对于 macOS,默认为 +N

    右键单击并选择“生成...”以查看当前映射。您可以一步选择多个字段来生成getter/setter。

    http://www.jetbrains.com/idea/webhelp/generating-getters-and-setters.html

    【讨论】:

      【解决方案3】:

      此答案涉及您的问题,但并不完全是答案。 =) 这是我最近发现的一个有趣的库,我想和你分享。


      Project Lombok可以为你的类自动生成常用方法,如getter、setter、equals()hashCode()toString()。它用减少样板代码的注释替换它们。要查看使用 Lombok 编写的代码的良好示例,请观看主页上的视频或阅读 this article

      使用 Lombok 进行 Android 开发很容易,并且不会让您的 android 应用程序变得“更重”,因为 Lombok 是一个仅编译时的库。正确configure你的Android项目很重要。

      另一个例子:

      import lombok.Getter;
      import lombok.Setter;
      
      public class Profile {
      
        @Getter @Setter
        private String username;
      
        @Getter @Setter
        private String password;
      
      }
      

      可以使用 Lombok 进行 Android 开发。 Lombok 应该是一个仅编译时的依赖项,否则整个 Lombok 将最终出现在您的 DEX 文件中,从而浪费宝贵的空间。 Gradle sn-p:

      dependencies {
          compileOnly "org.projectlombok:lombok:1.16.18"
      }
      

      此外,您可能希望在开发时添加 Lombok IntelliJ plugin 以在您的 IDE 中支持 Lombok 功能。还有基于 Lombok 的 Hrisey 库。简单地说,就是 Lombok + Parcellable 支持。

      【讨论】:

      • 不幸的是,Project Lombok 在 Android 库项目中中断。现在不可靠。
      • @IgorGanapolsky 有什么证据吗?
      • @IgorGanapolsky Project Lombok 在 Android 上运行良好。见setup guide
      【解决方案4】:

      右键单击Editor,然后选择Source -> Generate Getters and Setters 或按Alt + Shift + S

      【讨论】:

      • 这是 Eclipse。他要求使用 Android Studio。
      【解决方案5】:

      以防万一有人在使用 Eclipse

      Windows 8.1 操作系统 | Eclipse 空闲月神

      声明顶级变量private String username Eclipse 请在屏幕左侧生成警告单击该警告并显示一些建议,然后选择生成。

      【讨论】:

      • 问题是针对Android Studio,而不是eclipse
      【解决方案6】:

      here 所述,您还可以自定义 getter/setter 生成以考虑前缀和后缀(例如,m 代表实例变量)。转到File->Settings 并展开Code Style,选择Java,然后在Code Generation 选项卡下添加您的前缀/后缀。

      【讨论】:

        【解决方案7】:

        使用code=>generate=>getter()和setter()对话框,选择所有变量,一次生成所有getter(),setter()方法。

        【讨论】:

          【解决方案8】:

          Android Studio 和 OSx

          cmd+n > 生成 > Getter和Setter

          Android Studio 和 Windows

          Alt + 插入 > 生成 > Getter和Setter

          【讨论】:

          • 刚刚在 Windows 上测试过 Alt+Shift+S+R 不起作用,右键单击不包含 Source。可能是自定义设置吗?
          • 我已经修复了 Win 部分! :)
          【解决方案9】:

          您可以使用Android StudioAndroidAccessors 插件来生成不带m 作为方法前缀的getter 和setter

          例如:mId; 将生成getId()setId() 而不是getmId()setmId()

          【讨论】:

            【解决方案10】:

            Android Studio 和 Windows:

            fn + alt + 插入

            【讨论】:

            • 您的图片未正确显示在帖子中,并且您尚未完成图片描述 - 它显示“在此处输入图片描述”。
            【解决方案11】:

            您可以通过以下步骤生成getter和setter:

            • 首先声明变量。
            • 点击键盘上的ALT+Insert,将光标放在变量声明部分
            • 现在选择构造函数并按下键盘上的Ctrl+A 并单击Enter 以创建构造函数。
            • 现在再次将光标放在构造函数右大括号的下一行,单击 ALT+INSERT 并选择 getter 和 setter,然后再次按 CTRL+ A 选择所有变量并点击 Enter

            就是这样。编码愉快!

            【讨论】:

              【解决方案12】:

              在 Mac 上使用 Ctrl+Enter 获取选项列表以生成 setter、getter、构造函数等

              【讨论】:

                【解决方案13】:

                另一种有趣的方式

                定义后在对象的任意位置输入参数名称,你会看到setter和getter,只需选择并点击回车:)

                我尝试使用 Android Studio 2.3

                【讨论】:

                  【解决方案14】:
                  • 创建变量
                  • 右键单击
                  • 选择“生成”,然后选择“Getter and Setter”选项

                  【讨论】:

                  • kotlin 构造函数的任何快捷方式? Alt + Ins 没有显示生成构造函数选项。
                  • 你试过Alt + Enter吗?
                  • 对于这种情况,我不知道发生了什么。您是否在 Intellij 论坛中发布了您的问题?
                  • 当您找到解决方案时,请在此处分享。
                  【解决方案15】:

                  将光标定位在变量下->右键->生成->Getter和Setter->选择变量进行get和set

                  Alt + Insert -> Getter 和 Setter -> 选择变量

                  【讨论】:

                  • 问题是是否可以使用单个快捷方式生成 getter 和 setter,所以在菜单中找不到此选项。
                  • 我不明白。 Alt + Insert -> Getter 和 Setter -> 选择变量
                  【解决方案16】:

                  使用 Alt+ 插入 或右键单击并选择“生成...” 您可以在 Android Studio 中轻松生成 getter 和 setter 或 Override 方法。 这与使用菜单栏 Code -> Generate...

                  的效果相同

                  【讨论】:

                    猜你喜欢
                    • 2017-11-05
                    • 2015-08-25
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2010-09-05
                    • 1970-01-01
                    • 2010-09-13
                    • 1970-01-01
                    相关资源
                    最近更新 更多