Java 在Android中如何将资源传递给方法调用?
目前,我有一个巨大的switch case语句,我想简化它。我想将所有重复的语句提取到一个方法中,并使用适当的参数调用这个方法。现在的例子可能是: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 (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);
}