Android Studio中的“添加未实现的方法”功能


129

在Eclipse IDE中,有一个很棒的功能,允许您添加(实现)特定类的所有必需方法。我正在Android Studio IDE中寻找此功能,但到目前为止没有成功。有类似的东西吗?对我来说,这是关键功能之一,离不开它。

编辑:

我不想选择要实现的方法。我希望IDE像Eclipse一样为我做。例如,当我在任何Activity扩展类中单击“添加未实现的方法”时,所有这些onCreate() onPause() onResume()都已生成。


8
按下alt+enter班级名称不可以吗?
rciovati

6
Intelij快捷方式:ctrl + I(在Android Studio上可能相同)。Alt + INSERT:向您显示一个弹出窗口,其中包含要生成的其他内容。
ben75 2013年

2
是的 我建议,alt+insert因为您可以在IntelliJ IDEA中使用它进行任何操作:)
rciovati 2013年

1
您也可以将鼠标悬停在类名称上,然后单击出现的红色灯泡“ thingy” :)
Free3dom 2013年

Answers:


208

当然有。这称为实现方法替代方法。默认快捷方式是CTRL-ICTRL-O。请参见实现方法覆盖方法的说明


10
好的,但这不是我要的。我不想选择要实现的方法。我希望IDE像Eclipse一样为我做。例如,当我在任何Activity扩展类中单击“添加未实现的方法”时,所有这些onCreate() onPause() onResume()都已生成。
克里斯托弗

2
实际上,您将能够选择所有可重写的方法,而eclipse会为您做出选择。使用eclipse,您无法精确选择要覆盖的内容。也许这样更干净;)
mithrop 2013年

2
pbespechnyi在下面的回答是正确的答案。Alt + Enter
2014年

15
'ALT + ENTER' 应该是正确的答案不是'CTRL-O'
sud007

2
将鼠标悬停在类上,然后为我单击实现方法会很棒。Eclipse太棒了…
Lou Morda

40

您可以使用以下快捷方式。

在Windows计算机上:

  • Alt+ Enter-关于类的定义;
  • Ctrl+ I-在类正文中显示未实现方法的列表。

在Mac上:

  • Option ⌥ + Return-关于类的定义(Option ⌥ 也可以Alt);
  • Command ⌘+ I-在类正文中显示未实现方法的列表。

还有一个有用的组合Ctrl+ O/ Command ⌘+ O-重写方法。


5
好的,但这不是我要的。我不想选择要实现的方法。我希望IDE像Eclipse一样为我做。例如,当我在任何Activity扩展类中单击“添加未实现的方法”时,所有这些onCreate() onPause() onResume()都已生成。
克里斯托弗

1
Alt + Enter是正确的。突出显示未实现的方法,按Alt + Enter,您将弹出一个对话框,选择在何处创建方法。

1
绝对正确的答案。我的问题是仅实现方法而不覆盖它们。与其他人实现类时的简单解决方案。
sud007

4

在Mac上,使用Command + N即可轻松实现。这将弹出一个菜单,询问您是否要访问覆盖方法或接口方法,并结合了其他答案中描述的快捷方式。Windows上有一个类似的快捷方式,但并不方便。

如有更改,出处以下资源:https : //www.jetbrains.com/idea/help/generating-constructors.html

编辑:或,对于接口:https : //www.jetbrains.com/idea/help/implementing-methods-of-an-interface.html

和超级:https//www.jetbrains.com/idea/help/overriding-methods-of-a-superclass.html


4

Alt + Enter-关于类定义;Ctrl + I-在类正文中显示未实现方法的列表。Ctrl + O-在类正文中显示替代方法的列表。


2

键入buttonName.setOnClickListener(new)之后,使用Ctrl + Shift + Space将为您提供正确的选择。

Ctrl + Shift + Enter将使您的代码在语法上正确


1

虽然问题是1年前,但这可能对将来的用户有所帮助。
对于Windows用户,Alt + Enter>实施方法(按Enter)>(按Enter)有效。
这将添加未实现的方法。
但是您必须将光标移到该类或接口旁边。


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.