2016-10-28 42 views
2

所以,在我的代码,我有以下情况结构上取代有一个参数名称方法开始

view1.setBackgroundResource(R.drawable.is_bag); 
view2.setBackgroundResource(R.drawable.is_bag); 
view3.setBackgroundResource(R.color.red); 

我试图做一个结构性更换所有.setBackgroundResource(R.drawable.*单独的方法。这里就是我想要什么至今:

搜索模板:

$Instance$.setBackgroundResource($Parameter$) 

编辑变量:

$Instance$ -> Text/regexp = <empty> (which i understand = .*) 
$Parameter$ -> Text/regexp = .*R\.drawable\..* 
      Minimum count = 1  // Minimum one Foo parameter 
      Maximum count = 1  // Maximum one Foo parameter 

出于某种原因,这种拒绝匹配任何。如果我将$Parameter$更改为空或.*,则它匹配所有setBackgroundResource方法。

会有人知道我在这里做错了吗?

+0

奇怪的一个,看起来$参数$的Text/regexp只适用于实际变量名称(它包含静态类型后的所有东西,即R.drawable)。如果将Text/regexp设置为'is_bag',则会找到所有以'is_bag'结尾的文本。好奇......也许只是使用正则表达式搜索并替换为这个。 –

回答

2

尝试

$Instance$.setBackgroundResource(R.drawable.$Parameter$) 

与这两个InstanceParameter空。

+0

嗯我试过,出于某种原因,当我切换到'setBackgroundResource(R.color。*)'也被标记。 我不知道是不是因为它与Android Studio中的R.x.x等是资源常量有关? –

+0

我想这不能解释为什么有R.drawable明确标志两者。嗯可能是一个错误? –

+0

错误的可能性很大。刚刚用内部静态类进行了测试,这些内部静态类不在R中。当我搜索特定内部类http://imgur.com/a/9c7Xk时,获得了整个封闭类的结果。看起来,内部静态类在搜索中被忽略,并且它搜索最高级别类中声明的所有内容(即你的情况下的R)Bug报告! @KaushikGopal –

相关问题