无法从 'int' Android.OS.Parcel 转换

Connot convert from 'int' Android.OS.Parcel

我正在尝试使用 span 来更改我的文本文本视图的部分颜色。但是我不断收到这个奇怪的错误,就像我的颜色无法识别一样。

这是我的代码

        var span2 = new SpannableString(beforeMisterX + misterX);
        span2.SetSpan(new ForegroundColorSpan(ContextCompat.GetColor(this, Resource.Color.abc_hint_foreground_material_dark)), 15, 6, 0);
        lblMisterX.SetText(span2, TextView.BufferType.Spannable);

错误在这一行:

span2.SetSpan(new ForegroundColorSpan(ContextCompat.GetColor(this, Resource.Color.abc_hint_foreground_material_dark)), 15, 6, 0);

Screenshot of error

我也试过了,但我仍然得到同样的错误:

span.SetSpan(new ForegroundColorSpan(Color.HoloBlueDark), 15, 6, 0);

ForegroundColorSpan 期望 Color,而不是 intColor.HoloBlueDarkContextCompat.GetColor 中的 return 是整数,因此您需要将其转换为颜色:

var color = new Android.Graphics.Color(ContextCompat.GetColor(this, Resource.Color.abc_hint_foreground_material_dark));
span2.SetSpan(new ForegroundColorSpan(color), 15, 6, 0);