当我尝试通过 setProgressbackground() 方法更改 SwipeRefresh-Progressbar 的颜色时,出现错误:
E/AndroidRuntime﹕ FATAL EXCEPTION: main
android.content.res.Resources$NotFoundException: Resource ID #0xffffffff
at android.content.res.Resources.getValue(Resources.java:1026)
at android.content.res.Resources.getColor(Resources.java:756)
at android.support.v4.widget.CircleImageView.setBackgroundColor(CircleImageView.java:118)
at android.support.v4.widget.SwipeRefreshLayout.setProgressBackgroundColor(SwipeRefreshLayout.java:454)
我将这种方法称为 .setProgressBackgroundColor(getResources().getColor(R.color.mycolor))。颜色存在于资源文件中,并且在其他代码中效果很好。
然后我查看了 SwipeRefreshLayout 文件,发现方法是这样的:
/**
* Set the background color of the progress spinner disc.
*
* @param colorRes Resource id of the color.
*/
public void setProgressBackgroundColor(int colorRes) {
mCircleView.setBackgroundColor(colorRes);
mProgress.setBackgroundColor(getResources().getColor(colorRes));
}
对我来说,它似乎很奇怪,它一次只用 colorRes 整数调用 .setBackgroundColor() ,另一次用 getResources().getColor(colorRes) 调用。
我究竟做错了什么??