Java 在Android中如何将资源传递给方法调用?

Java 在Android中如何将资源传递给方法调用?,java,android,parameter-passing,android-resources,Java,Android,Parameter Passing,Android Resources,目前,我有一个巨大的switch case语句,我想简化它。我想将所有重复的语句提取到一个方法中,并使用适当的参数调用这个方法。现在的例子可能是: switch (colouprivate void setRoundCornersStyle(Resources resource){ chooseCategory_spinner.setBackgroundResource(resource);r) { case "#FF9800": spinner1

目前,我有一个巨大的switch case语句,我想简化它。我想将所有重复的语句提取到一个方法中,并使用适当的参数调用这个方法。现在的例子可能是:

switch (colouprivate void setRoundCornersStyle(Resources resource){
    chooseCategory_spinner.setBackgroundResource(resource);r) {
        case "#FF9800":
            spinner1.setBackgroundResource(R.drawable.orange);
            spinner2.setBackgroundResource(R.drawable.orange);                
            break;
这是缩短的地方。所有调用都是相同的,唯一的区别是传递的实际颜色

现在的问题如下,我们如何在Android中将资源传递给方法调用,类似这样:

case "#FF9800":
    setRoundCornerStyle(R.drawable.orange);
void setBackgroundResource (int resid)


我希望通过这种方式,我将能够真正提取所有的重复,并使之清晰和简单。欢迎提出任何建议

存储在
R
对象中的资源标识符实际上只不过是一组整数,表示实际资源

你也可以看到这一点。视图的
setBackgroundResource
方法的签名如下所示:

case "#FF9800":
    setRoundCornerStyle(R.drawable.orange);
void setBackgroundResource (int resid)
因此,您可以将资源id作为
int
传递到方法中:

private void setRoundCornersStyle(int resource){
  spinner1.setBackgroundResource(resource);
}