Fonctionnalité "Ajouter des méthodes non implémentées" dans Android Studio

129

Dans l'IDE Eclipse, il existe une fonctionnalité intéressante qui vous permet d'ajouter (implémenter) toutes les méthodes requises de la classe particulière. Je recherche cette fonctionnalité dans l'IDE d'Android Studio, mais sans succès jusqu'à présent. Y a-t-il quelque chose de similaire? Pour moi, c'est l'une des caractéristiques clés et je ne peux pas m'en passer.

Éditer:

Je ne veux pas choisir de méthodes à implémenter. Je veux que IDE le fasse pour moi comme le faisait Eclipse. Par exemple, lorsque j'ai cliqué sur "Ajouter des méthodes non Activityimplémentées " dans une classe étendue, toutes ces méthodes onCreate() onPause() onResume()ont été générées.

Kristopher
la source
8
Appuyer alt+entersur le nom de la classe ne fait pas ça?
rciovati
6
Raccourci Intelij: ctrl + I (probablement le même sur Android Studio). Alt + INSERT: vous montre une fenêtre contextuelle avec autre chose à générer.
ben75
2
Ouais. Je suggère alt+insertparce que vous pouvez faire n'importe quoi avec dans IntelliJ IDEA :)
rciovati
1
Vous pouvez également passer la souris sur le nom de la classe, puis cliquer sur l'ampoule rouge "thingy" qui apparaît :)
free3dom

Réponses:

208

Bien sûr, il y en a. Cela s'appelle Implémenter les méthodes ou Remplacer les méthodes . Le raccourci par défaut est CTRL-I et CTRL-O . Voir descrption d' exécution Méthodes et Redéfinition des méthodes .

Grzegorz Żur
la source
10
Ok, mais ce n'est pas ce que je demande. Je ne veux pas choisir de méthodes à implémenter. Je veux que IDE le fasse pour moi comme le faisait Eclipse. Par exemple, lorsque j'ai cliqué sur "Ajouter des méthodes non Activityimplémentées " à l'intérieur d'une classe étendue, toutes onCreate() onPause() onResume()ont été générées.
Kristopher
2
En fait, vous pourrez choisir TOUTES les méthodes remplaçables, où eclipse fera le choix pour vous. Avec eclipse, vous n'avez pas pu choisir exactement ce que vous souhaitez remplacer. Peut-être que cette façon est plus propre;)
mithrop
2
la réponse ci-dessous par pbespechnyi est la bonne. Alt + Entrée
Ray
15
Yup 'ALT + ENTER' devrait être la bonne réponse et non 'CTRL-O'
sud007
2
Ce serait génial de survoler la classe, puis de cliquer simplement sur les méthodes d'implémentation pour moi. Eclipse était tellement génial ...
Lou Morda
40

Vous pouvez utiliser les raccourcis suivants.

Sur une machine Windows:

  • Alt+ Enter- sur la définition de classe;
  • Ctrl+ I- dans le corps de la classe pour afficher la liste des méthodes non implémentées.

Sur Mac:

  • Option ⌥ + Return- sur la définition de classe ( Option ⌥ peut être aussi Alt);
  • Command ⌘+ I- dans le corps de la classe pour afficher la liste des méthodes non implémentées.

Il existe également des méthodes de substitution Ctrl+ O/ Command ⌘+ O- utiles .

pbespechnyi
la source
5
Ok, mais ce n'est pas ce que je demande. Je ne veux pas choisir de méthodes à implémenter. Je veux que IDE le fasse pour moi comme le faisait Eclipse. Par exemple, lorsque j'ai cliqué sur "Ajouter des méthodes non Activityimplémentées " à l'intérieur d'une classe étendue, toutes onCreate() onPause() onResume()ont été générées.
Kristopher
1
Alt + Entrée est le bon. Mettez en surbrillance la méthode non mise en œuvre, appuyez sur Alt + Entrée, vous obtiendrez une fenêtre contextuelle pour choisir où créer la méthode.
Ray
1
Absolument la bonne réponse. Mon problème était simplement de mettre en œuvre les méthodes et de ne pas les remplacer. Solution simple lorsque vous implémentez une classe avec d'autres.
sud007
4

Sur Mac, cela est facile avec Commande + N . Cela fait apparaître un menu qui vous demande si vous souhaitez accéder aux méthodes de remplacement ou aux méthodes d'interface, en combinant les raccourcis décrits dans les autres réponses. Il existe un raccourci similaire sur Windows, mais ce n'est pas aussi pratique.

La source, devraient-ils jamais changer: https://www.jetbrains.com/idea/help/generating-constructors.html

EDIT: ou, pour les interfaces: https://www.jetbrains.com/idea/help/implementing-methods-of-an-interface.html

et supers: https://www.jetbrains.com/idea/help/overriding-methods-of-a-superclass.html

manroe
la source
4

Alt + Entrée - sur la définition de classe; Ctrl + I - dans le corps de la classe pour afficher la liste des méthodes non implémentées. Ctrl + O - dans le corps de la classe pour afficher la liste des méthodes de remplacement .

Ester Kaufman
la source
2

Tapez buttonName.setOnClickListener (nouveau) après cela en utilisant Ctrl + Maj + Espace, vous obtiendrez les bons choix.

Ctrl + Maj + Entrée rendra votre code syntaxiquement correct

Deniz
la source
1

Bien que la question remonte à 1 an, cela pourrait aider les futurs utilisateurs.
Pour les utilisateurs de Windows, Alt + Entrée> Implémenter les méthodes (appuyez sur Entrée)> (appuyez sur Entrée) fonctionne.
Cela ajoutera les méthodes non implémentées.
Mais vous devez déplacer votre curseur à côté de cette classe ou de cette interface.

ssi-anik
la source
-1

Sous Linux, Alt + Insert fournira une liste pour implémenter le constructeur, le setter, le getter et la méthode implémentée comme toString

Anis Ajmeri
la source
Ceci n'est pas une réponse Veuillez lire ceci pour savoir comment y répondre. stackoverflow.com/help/how-to-answer
Shyam Bhimani