快捷键:
Ctrl + Alt + V(Windows/Linux上)
Cmd + Alt + V(OS X)
Android Studio 里抽取变量(Extract Variable)的快捷方式。
菜单调用:
Menu → Refactor → Extract → Variable
在写代码时,常常会写下变量的实例, 值或者new一个Class,然后再去写变量声明。
如下图所示。 在onCreate方法中,一般要写一大堆findViewById。如果在layout文件中定义好了一个id为name的textView控件,要在onCreate方法中将其实例化出来,一般都是直接先写findViewById(R.id.name) 。
然后我们需要给findViewById(R.id.name)的返回值定义一个变量。这时就可以使用 Ctrl + Alt + V 快捷键。
将光标定位在findViewById(R.id.name)上,然后按下Ctrl + Alt + V。
上图中可以看到Android Studio自动给findViewById(R.id.name)的返回值定义好了一个变量viewByid,viewByid是系统建议的变量名,自己可以按需要改成合适的名字。如这里我们可以将其改为“name”。这样我们就快速定义好了一个名字叫name的变量。
上图中还有一个方框,从方框中的提示可以看到,还可以按下Shift+Tab键去改变变量的类型,这样我们可以通过按下Shift+Tab键选择一个兼容的类型。 findViewById(R.id.name)的返回值的类型是View,其父类是object, 所以如果需要的话,可以在按下Shift+Tab键弹出的窗口中选择object类型。
但是,这里将其声明为object意义不大。一般来说findViewById的返回的控件我们要根据其在layout文件中的具体定义,将其类型转换为相应的类型如Button, TextView等等。在上图的例子中,findViewById(R.id.name)返回值我们应该将其类型定义为TextView。
这种情况也好处理,可以先将findViewById前面加上(TexyView), 就是先把findViewById(R.id.name)的返回值转换为我们需要的TextView类型,然后再按下Ctrl + Alt + V。 这样,AndroidStudio就会自动生成一个TextView类的变量,我们只要将其名字改成name就可以了。
看下面演示动画:
抽取变量的另外一种快捷方法是神奇的 ALT+Enter 键。
可以试一下在你要抽取变量的地方,直接按下ALT+ Enter键,看看是不是更方便。
ALT+Enter键的用法在我的另外一篇文章Android Studio 小技巧之【Extract Resource】中介绍过。
链接为:Android Studio 小技巧之【Extract Resource】
总结
这个方法的要点就是,将鼠标定位在要抽取变量的地方,按Ctrl + Alt + V(Windows/Linux上) ,Cmd + Alt + V(OS X),然后改名即可。如果需要改变变量的类型,可以继续按Shift+Tab键选取兼容的类型。
本文也发表在本人的CSDN技术博客上