Cómo generar automáticamente getters y setters en Android Studio

294

¿Hay un acceso directo en Android Studio para generar automáticamente los captadores y establecedores en una clase determinada?

Ajay S
fuente

Respuestas:

522

Usando Alt+ Insertpara Windows o Command+ Npara Mac en el editor, puede generar fácilmente métodos getter y setter para cualquier campo de su clase. Esto tiene el mismo efecto que usar la barra de menú -> Code->Generate...

ingrese la descripción de la imagen aquí

y luego usando el botón shift o control, seleccione todas las variables que necesita para agregar getters y setters

Ajay S
fuente
77
Para aquellos en Macs es control + enter.
anita
¿Alguna posibilidad de crear getter y setter como ivar _username y getter y setter son getUsername y setUsername?
Nicolas Manzini
En Mac Control + n
Alon Kogan
2
Para Java funciona bien. Pero estoy usando Kotlin en Android Studio para el desarrollo de aplicaciones. Entonces, ¿cómo generar getter / setter como Java?
SIVAKUMAR.J
2
cómo generar captadores y colocadores para la clase de Kotlin
Ashik Azeez
29

Android Studio y OSx :

Presione cmd+ n> Generate>Getter and Setter

Android Studio y Windows :

Presione Alt+ Insert> Generate>Getter and Setter

Jorgesys
fuente
Acabo de probar en Windows Alt + Shift + S + R no funciona y el clic derecho no contiene Fuente. ¿Es quizás una configuración personalizada?
Anthea
¡He arreglado la sección Win! :)
Jorgesys
8

Puede generar getter y setter siguiendo estos pasos:

  • Declare las variables primero.
  • haga clic en ALT+ Inserten el teclado colocando el cursor en la parte de declaración variable
  • ahora seleccione el constructor y presione Ctrl+ Aen el teclado y haga clic en Enterpara crear el constructor.
  • Ahora, nuevamente colocando el cursor en la siguiente línea de cierre del constructor, haga clic en ALT+ INSERTy seleccione getter y setter y nuevamente presione CTRL+ Apara seleccionar todas las variables y presione Enter.

Eso es. Feliz codificación !!

Rushi Ayyappa
fuente
8
  • crear la variable
  • botón derecho del ratón
  • seleccione "Generar" y luego seleccione la opción "Getter and Setter"

Menú de clic derecho

Ângelo Polotto
fuente
¿Algún atajo para Kotlin Constructors ? Alt + Ins no me muestra la opción Generar Constructores.
Arbaz.en
¿Lo intentaste Alt + Enter?
Ángel Polotto
para ese caso, no sé qué está pasando. ¿Publicaste tu problema en el foro de Intellij?
Ángel Polotto
Cuando encuentre la solución, compártala aquí.
Ángel Polotto
8

Android Studio y Windows:

fn+ alt+insert

Imagen del menú

usuario6696469
fuente
1
Su imagen no ha aparecido correctamente en la publicación y no ha completado una descripción de la imagen: dice "ingrese la descripción de la imagen aquí".
LordWilmore
6

Coloque el cursor debajo de las variables -> haga clic con el botón derecho -> Generar -> Getter y Setter -> Elija las variables para obtener y establecer

o

Alt + Insertar -> Getter y Setter -> Elija las variables

Bebé
fuente
La pregunta era si es posible generar captadores y definidores con un solo acceso directo, por lo que no es donde puede encontrar esta opción en un menú.
R Pelzer
Yo no entendía. Alt + Insertar -> Getter and Setter -> Elija las variables
Baby
5

Como se indicó aquí , también puede personalizar la generación del captador / definidor para tener en cuenta los prefijos y sufijos (por ejemplo, m por ejemplo, variables). Vaya File->Settingsy expanda Code Style, seleccione Javay agregue sus prefijos / sufijos en la Code Generationpestaña.

Shane Spoor
fuente
4

Puede usar el AndroidAccessorscomplemento de Android Studiopara generar getter y setter sin m como prefijo a los métodos

Ej: mId; Generará getId()y en setId()lugar de getmId()ysetmId()

captura de pantalla del complemento

Fusión fría
fuente
4

Esta respuesta trata su pregunta, pero no es exactamente una respuesta a ella. =) Es una biblioteca interesante que descubrí recientemente y quiero compartir con ustedes.


Proyecto Lombok puede generar métodos comunes, tales como captadores, organismos, equals()y hashCode(), toString()por sus clases de forma automática. Los reemplaza con anotaciones que reducen el código repetitivo. Para ver un buen ejemplo de código escrito con Lombok, vea un video en la página principal o lea este artículo .

El desarrollo de Android con Lombok es fácil y no hará que su aplicación de Android sea 'más pesada' porque Lombok es una biblioteca solo en tiempo de compilación. Es importante configurar su proyecto de Android correctamente.

Otro ejemplo:

import lombok.Getter;
import lombok.Setter;

public class Profile {

  @Getter @Setter
  private String username;

  @Getter @Setter
  private String password;

}

El desarrollo de Android con Lombok es posible. Lombok debería ser una dependencia solo en tiempo de compilación, ya que de lo contrario la totalidad de Lombok terminará en sus archivos DEX, desperdiciando un espacio precioso. Fragmento de Gradle:

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

Además, es posible que desee agregar el complemento Lombok IntelliJ para admitir las características de Lombok en su IDE en el momento del desarrollo. También hay una biblioteca Hrisey que se basa en Lombok. En pocas palabras, es soporte de Lombok + Parcellable.

naXa
fuente
1
Desafortunadamente, Project Lombok se rompe en los proyectos de la biblioteca de Android. No es confiable en este momento.
IgorGanapolsky
1
@IgorGanapolsky alguna prueba?
Artem Novikov
1
@IgorGanapolsky Project Lombok funciona bien con Android. Ver la guía de configuración .
naXa
3

Use Ctrl+ Enteren Mac para obtener una lista de opciones para generar setter, getter, constructor, etc.

ingrese la descripción de la imagen aquí

Naga Mallesh Maddali
fuente
2

use el diálogo code => generate => getter () y setter (), seleccione todas las variables, genere todos los métodos getter (), setter () al mismo tiempo.

xiaoyifang
fuente
1

Otra forma divertida

Escriba el nombre del parámetro en cualquier parte del objeto después de la definición, verá setter y getter, solo seleccione y haga clic en enter :)

Lo intenté con Android Studio 2.3

Kadir Erturk
fuente
-1

Haga clic derecho y Editorluego seleccione Source -> Generate Getters and Setterso presione Alt+ Shift+S ingrese la descripción de la imagen aquí

picadillo
fuente
2
Este es Eclipse. Preguntó por Android Studio.
WannaGetHigh
-2

Por si alguien está trabajando con Eclipse

Windows 8.1 OS | Eclipse Idle Luna

Declare la variable de nivel superior private String usernameEclipse generosamente genere una advertencia a la izquierda de su pantalla, haga clic en esa advertencia y aparecerán un par de sugerencias, luego seleccione generar.ingrese la descripción de la imagen aquí

Jonathan Cáceres Romero
fuente
1
La pregunta fue dirigida a Android Studio, no eclipse
Alberto M