Я решил свою проблему, прекратив использовать нож и создав класс для получения желаемого цвета.
public static int getColor(Context context, int color) {
switch (color){
case 1 : {
return (context.getResources().getColor(R.color.yellow));
}
case 2 : {
return (context.getResources().getColor(R.color.purple));
}
case 3 : {
return (context.getResources().getColor(R.color.green));
}
case 4 : {
return (context.getResources().getColor(R.color.grey));
}
case 5 : {
return (context.getResources().getColor(R.color.red));
}
default : {
return 0;
}
}
}
Наконец, мне просто нужно установить цвет следующим образом:
imageView.setColorFilter( ClassHelperCreated.getColor(this, color) );
Я вполне уверен, что Type
не собирается сериализоваться очень хорошо - и, возможно, в любом случае он не входит в контракт на данные, поскольку (будучи специфичным для реализации) он наносит ущерб одной из основных целей контракта на данные ...
Тем не менее, я ожидаю, что лучшим подходом было бы поменять его на Словарь <строка, строка>
с использованием типа
Assembly [QualifiedName
или FullName
типа .