Android Studio技巧之快速抽取变量【Extract Variable】

快捷键:

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) 。

Android Studio技巧之快速抽取变量【Extract Variable】_第1张图片

然后我们需要给findViewById(R.id.name)的返回值定义一个变量。这时就可以使用 Ctrl + Alt + V 快捷键。

将光标定位在findViewById(R.id.name)上,然后按下Ctrl + Alt + V。

Android Studio技巧之快速抽取变量【Extract Variable】_第2张图片

上图中可以看到Android Studio自动给findViewById(R.id.name)的返回值定义好了一个变量viewByid,viewByid是系统建议的变量名,自己可以按需要改成合适的名字。如这里我们可以将其改为“name”。这样我们就快速定义好了一个名字叫name的变量。

Android Studio技巧之快速抽取变量【Extract Variable】_第3张图片

上图中还有一个方框,从方框中的提示可以看到,还可以按下Shift+Tab键去改变变量的类型,这样我们可以通过按下Shift+Tab键选择一个兼容的类型。 findViewById(R.id.name)的返回值的类型是View,其父类是object, 所以如果需要的话,可以在按下Shift+Tab键弹出的窗口中选择object类型。

Android Studio技巧之快速抽取变量【Extract Variable】_第4张图片

但是,这里将其声明为object意义不大。一般来说findViewById的返回的控件我们要根据其在layout文件中的具体定义,将其类型转换为相应的类型如Button, TextView等等。在上图的例子中,findViewById(R.id.name)返回值我们应该将其类型定义为TextView。

这种情况也好处理,可以先将findViewById前面加上(TexyView), 就是先把findViewById(R.id.name)的返回值转换为我们需要的TextView类型,然后再按下Ctrl + Alt + V。 这样,AndroidStudio就会自动生成一个TextView类的变量,我们只要将其名字改成name就可以了。

看下面演示动画

Android Studio技巧之快速抽取变量【Extract Variable】_第5张图片

抽取变量的另外一种快捷方法是神奇的 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技术博客上

你可能感兴趣的:(Android Studio技巧之快速抽取变量【Extract Variable】)