如何在Android Studio中自动生成getter和setter


Answers:


521

使用Alt+ Insert(Windows)或Command+ N编辑器的Mac,你可以很容易生成你的类的任何领域的getter和setter方法。与使用菜单栏-> Code-> 具有相同的效果Generate...

在此处输入图片说明

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


77
对于Mac上的用户,请按Control + Enter。
阿妮塔2015年

是否有可能创建诸如ivar _username和getter和setter的getter和setter是getUsername和setUsername?
Nicolas Manzini 2015年

在Mac Control + n上
Alon Kogan

2
对于Java来说,它的工作正常。
SIVAKUMAR.J

2
如何为Kotlin类生成吸气剂和吸气剂
Ashik Azeez,


29

Android Studio和OSx

cmd+ n> Generate>Getter and Setter

Android Studio和Windows

Alt+ Insert> Generate>Getter and Setter


刚刚在Windows上测试过Alt + Shift + S + R不起作用,右键单击不包含Source。也许是自定义设置?
Anthea

我已经修正了赢球部分!:)
Jorgesys'2

8

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

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

而已。编码愉快!!



8

Android Studio和Windows:

fn+ alt+insert

菜单图片


1
您的图片未正确显示在帖子中,并且您尚未完成图片说明-它说“在此处输入图片说明”。
LordWilmore

6

将光标置于变量下->右键单击->生成-> Getter and Setter->选择变量进行获取和设置

要么

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


问题是,是否可以使用单个快捷方式生成getter和setter,因此无法在菜单中找到此选项的位置。
R Pelzer

我不明白。Alt + Insert-> Getter and Setter->选择变量
婴儿

5

如前所述在这里,你还可以自定义的getter / setter产生采取前缀和后缀(如实例变量M)考虑在内。转到File->Settings并展开Code Style,选择Java,然后在Code Generation标签下添加您的前缀/后缀。


4

您可以使用AndroidAccessorsPlugin of Android Studio生成不带m的getter和setter方法作为方法的前缀

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

插件截图


4

该答案涉及您的问题,但并不完全是答案。=)这是我最近发现的一个有趣的图书馆,我想与您分享。


龙目岛项目可以产生常用的方法,如getter方法,setter方法,equals()并且hashCode()toString()会自动为您的类。它用注释替换了它们,从而减少了样板代码。要查看使用Lombok编写的代码的好示例,请观看主页上的视频或阅读本文

使用Lombok进行Android开发非常容易,并且不会使您的android应用程序“变重”,因为Lombok是仅编译时的库。正确配置 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文件中,浪费了宝贵的空间。摇篮代码段:

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

另外,您可能需要在开发时添加Lombok IntelliJ插件以在您的IDE中支持Lombok功能。还有基于Lombok的Hrisey库。简而言之,它是Lombok + Parcellable支持。


1
不幸的是,Project Lombok在Android库项目中中断。现在这是不可靠的。
IgorGanapolsky

1
@IgorGanapolsky有任何证据吗?
阿特姆·诺维科夫

1
@IgorGanapolsky Lombok项目可在Android上正常运行。请参阅安装指南
naXa


2

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



-1

右键单击,Editor然后选择Source -> Generate Getters and Setters或按Alt+ Shift+S 在此处输入图片说明


2
这是Eclipse。他要求提供Android Studio。
WannaGetHigh 2015年

-2

以防万一有人使用Eclipse

Windows 8.1操作系统| 蚀闲月

声明顶级变量 private String usernameEclipse请在屏幕左侧生成一个警告,单击该警告并显示一些建议,然后选择generate。在此处输入图片说明


1
问题直接针对Android Studio,而不是日食
Alberto M
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.