【发布时间】:2018-09-13 11:15:10
【问题描述】:
我收到以下警告:
- [WARN] (MvxBind) 无法为绑定创建目标绑定 MvxValueConverterValueCombiner 组合器操作的 TextColor
绑定代码:
<TextView
android:id="@+id/text_view_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
style="@style/text_group_header"
app:MvxBind="Text DisplayHeader; TextColor AppointmentFeedHeaderGroupColor(StartTime)"
/>
AppointmentFeedHeaderGroupColorValueConverter.cs
public class AppointmentFeedHeaderGroupColorValueConverter: MvxValueConverter<DateTime, Color>
{
private static readonly IDateTimeService DateTimeService = Mvx.Resolve<IDateTimeService>();
private static readonly Color HeaderGroupBlack = GetColor(Resource.Color.black);
private static readonly Color HeaderGroupRedLight = GetColor(Resource.Color.red_light);
protected override Color Convert(DateTime value, Type targetType, object parameter, CultureInfo culture)
{
if (value != DateTimeService.Now.Date)
{
return HeaderGroupRedLight;
}
return HeaderGroupBlack;
}
private static Color GetColor(int resourceColorId)
{
var context = Mvx.Resolve<IMvxAndroidCurrentTopActivity>().Activity;
return new Color(ContextCompat.GetColor(context, resourceColorId));
}
}
我在文件 LinkerPleaseInclude.cs 中添加了以下代码。
public void Include(TextView text)
{
text.AfterTextChanged += (sender, args) => text.Text = "" + text.Text;
text.Hint = "" + text.Hint;
text.SetTextColor(Color.Black);
var tc = text.TextColors;
text.SetTextColor(tc);
}
没用
【问题讨论】:
-
可以添加你用来绑定TextColor的代码吗?
-
@fmaccaroni,添加了绑定代码。
-
要完全理解这个问题,您可以添加 AppointmentFeedHeaderGroupColorConverter 吗?
-
@fmaccaroni,已添加。
标签: linker runtime-error mvvmcross