在 Xamarin Android 中使用 MPAndroidChart 库的 PieChart

PieChart using MPAndroidChart library in Xamarin Android

我已经使用 nuget 包 MPAndroidChart 3.1.0 在我的 xamarin android 项目中成功实现了 PieChart。当我尝试设置颜色时出现以下错误:

Cannot implicitly convert type 'System.Collections.Generic.IList<int>' to 'System.Collections.Generic.IList<Java.Lang.Integer>'. An explicit conversion exists (are you missing a cast?)

这是我使用的代码:

  MikePhil.Charting.Data.PieDataSet pieDataSet = new MikePhil.Charting.Data.PieDataSet(datalist, "");
  pieDataSet.Colors = ColorTemplate.ColorfulColors;

有什么办法可以解决这个问题吗?

这个异常:

Cannot implicitly convert type 'System.Collections.Generic.IList' to 'System.Collections.Generic.IList<Java.Lang.Integer>'. An explicit conversion exists (are you missing a cast?)

意味着您必须先将 ColorTemplate.ColorfulColors 转换为 IList<Java.Lang.Integer>

为了简单起见,您可以使用 LINQ 来完成。

using System.Xml;

...

MikePhil.Charting.Data.PieDataSet pieDataSet = new MikePhil.Charting.Data.PieDataSet(datalist, "");
pieDataSet.Colors = ColorTemplate.ColorfulColors.Select(c => new Java.Lang.Integer(c)).ToList();

...