Como gerar automaticamente getters e setters no Android Studio


294

Existe um atalho no Android Studio para gerar automaticamente os getters e setters em uma determinada classe?

Respostas:


522

Usando Alt+ Insertpara Windows ou Command+ Npara Mac no editor, você pode facilmente gerar métodos getter e setter para qualquer campo da sua classe. Isso tem o mesmo efeito que usar a barra de menus -> Code->Generate...

insira a descrição da imagem aqui

e, em seguida, usando o botão shift ou controle, selecione todas as variáveis ​​necessárias para adicionar getters e setters


77
Para aqueles em Macs, é Control + Enter.
Anita

qualquer possibilidade de criar getter e setter como ivar _username e getter e setter são getUsername e setUsername?
Nicolas Manzini

No controle Mac + n
Alon Kogan 27/02

2
Para o java, está funcionando bem. Mas estou usando o kotlin no android studio para desenvolvimento de aplicativos. Então, como gerar um getter / setter como o java?
SIVAKUMAR.J

2
como gerar getters e setters para classe Kotlin
Ashik Azeez


29

Android Studio e OSx :

Imprensa cmd+ n> Generate>Getter and Setter

Android Studio e Windows :

Imprensa Alt+ Insert> Generate>Getter and Setter


Apenas testado no Windows Alt + Shift + S + R não está funcionando e o botão direito do mouse não contém a Origem. Talvez seja uma configuração personalizada?
Anthea

Corrigi a seção Win! :)
Jorgesys

8

Você pode gerar getter e setter seguindo as etapas:

  • Declare as variáveis ​​primeiro.
  • clique no teclado ALT+ Insertcolocando o cursor na parte da declaração variável
  • agora selecione construtor e pressione Ctrl+ Ano teclado e clique em Enterpara criar o construtor.
  • Agora, novamente posicionando o cursor na próxima linha da chave de fechamento do construtor, clique em ALT+ INSERTe selecione getter e setter e novamente pressione CTRL+ Apara selecionar todas as variáveis ​​e pressione Enter.

É isso aí. Feliz codificação !!


8
  • crie a variável
  • clique direito
  • selecione "Gerar" e, em seguida, selecione a opção "Getter and Setter"

Menu do botão direito


Algum atalho para os construtores kotlin ? Alt + Ins não me mostra gerar a opção Constructors.
Arbaz.in

Você tentou Alt + Enter?
Ângelo Polotto

nesse caso, não sei o que está acontecendo. Você postou seu problema no fórum Intellij?
Ângelo Polotto

Quando você encontrar a solução, compartilhe-a aqui.
Ângelo Polotto

8

Android Studio e Windows:

fn+ alt+insert

Imagem do Menu


1
Sua imagem não apareceu na postagem corretamente e você não concluiu uma descrição da imagem - diz 'insira a descrição da imagem aqui'.
LordWilmore

6

Posicione o cursor sob as variáveis ​​-> clique com o botão direito do mouse -> Gerar -> Getter e Setter -> Escolha as variáveis ​​para obter e definir

ou

Alt + Insert -> Getter e Setter -> Escolha as variáveis


A questão era se é possível gerar getters e setters com um único atalho; portanto, não é possível encontrar essa opção em um menu.
R Pelzer

Eu não entendi. Alt + Insert -> Getter and Setter -> Escolha as variáveis
Bebê

5

Conforme observado aqui , você também pode personalizar a geração do getter / setter para levar em consideração prefixos e sufixos (por exemplo, m para variáveis ​​de instância). Vá para File->Settingse expanda Code Style, selecione Javae adicione seus prefixos / sufixos na Code Generationguia.


4

Você pode usar o AndroidAccessorsPlugin de Android Studiopara gerar getter e setter sem m como prefixo dos métodos

Ex: mId; Irá gerar getId()e em setId()vez de getmId()esetmId()

captura de tela do plugin


4

Esta resposta lida com sua pergunta, mas não é exatamente uma resposta para ela. =) É uma biblioteca interessante que eu descobri recentemente e quero compartilhar com você.


Projeto Lombok pode gerar métodos comuns, como getters, setters, equals()e hashCode(), toString()para as classes automaticamente. Ele os substitui por anotações, reduzindo o código padrão. Para ver um bom exemplo de código escrito usando Lombok, assista a um vídeo na página principal ou leia este artigo .

O desenvolvimento do Android com o Lombok é fácil e não tornará seu aplicativo Android mais "pesado", porque o Lombok é uma biblioteca apenas em tempo de compilação. É importante configurar seu projeto Android corretamente.

Outro exemplo:

import lombok.Getter;
import lombok.Setter;

public class Profile {

  @Getter @Setter
  private String username;

  @Getter @Setter
  private String password;

}

Desenvolvimento Android com Lombok é possível. Lombok deve ser uma dependência apenas em tempo de compilação, caso contrário, a totalidade do Lombok acabará nos arquivos DEX, desperdiçando espaço precioso. Snippet Gradle:

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

Além disso, convém adicionar o plug - in Lombok IntelliJ para oferecer suporte aos recursos do Lombok no seu IDE no momento do desenvolvimento. Também há a biblioteca Hrisey , que é baseada em Lombok. Simplificando, é o suporte ao Lombok + Parcellable.


1
Infelizmente, o Projeto Lombok quebra nos projetos da biblioteca do Android. Não é confiável no momento.
IgorGanapolsky

1
@IgorGanapolsky alguma prova?
Artem Novikov

1
@IgorGanapolsky Project Lombok funciona bem com o Android. Consulte o guia de configuração .
NaXa # 25/17


2

use code => generate => getter () e setter (), selecione todas as variáveis, gere todos os métodos getter (), setter () de uma só vez.


1

Outra maneira engraçada

Digite o nome do parâmetro em qualquer lugar do objeto após a definição, você verá o setter e o getter, basta selecionar e clicar em enter :)

Eu tentei com o Android Studio 2.3


-1

Clique com o botão direito do mouse em EditorSelecionar Source -> Generate Getters and Settersou pressione Alt+ Shift+S insira a descrição da imagem aqui


2
Este é o Eclipse. Ele pediu pelo Android Studio.
WannaGetHigh

-2

Apenas no caso de alguém estar trabalhando com o Eclipse

SO Windows 8.1 | Eclipse Idle Luna

Declarar variável de nível superior O private String usernameEclipse gentilmente gera um aviso à esquerda da tela, clique no aviso e em algumas sugestões aparecerem e selecione gerar.insira a descrição da imagem aqui


1
A pergunta foi direcionada para Android Studio, não eclipse
Alberto M
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.