Вы просто смешиваете 2 совершенно разные вещи: цвета и идентификаторы.
R.color.black - это идентификатор цвета, созданного вами в файле ресурсов, например: # ff000000
черный, разрешенный вашим BindColor (или getResources (). getColor (R.color.black) в вашем собственном ответе) - это целое число со значением, равным 0xff000000, которое равно -16777216
Итак, во втором переключателе выпередают цвет и сравнивают его с идентификаторами, а затем ожидается, что вы не введете ни одного случая переключения.
Кстати, этот переключатель совершенно не нужен, так как все, что вы делали внутри, использует значение дважды(просто используйте цвет), но если вы действительно хотите использовать переключатель, вы должны использовать черный и белый в качестве случаев, а не R.id.white и R.id.black, учитывая ввод, который вы предоставили своей функции