所以我在CustomSwitchRenderer类中遇到了这些错误,该类位于SalesKicker.Droid中。以下是错误:
OnElementCHanged(ElementChangedEventArgs e):找不到合适的方法来覆盖
和
Android.Widget.Switch不能用作典型参数' TElement'在genericc类型或方法ElementChangedEventArgs'没有从Widget.Switch到Forms.Element
的隐式引用转换
我很困惑,因为之前有过这样的工作,但我不知道我在这里做错了什么。这是我的班级:
public class CustomSwitchRenderer : SwitchRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Switch> e)
{
base.OnElementChanged(e);
if (Control != null)
{
Control.TextOn = "AAN";
Control.TextOff = "UIT";
Color colorON = Color.Green;
Color colorOFF = Color.Red;
Control.SetTextColor(Color.Black);
StateListDrawable drawable = new StateListDrawable();
drawable.AddState(new int[]
{
Android.Resource.Attribute.StateChecked
}, new ColorDrawable(colorON));
drawable.AddState(new int[]
{
}, new ColorDrawable(colorOFF));
Control.ThumbDrawable = drawable;
}
}
}
是的,我也添加了这一行:
using Switch = Android.Widget.Switch
这个当然:
[assembly:ExportRenderer(typeof(Switch), typeof(CustomSwitchRenderer))]
谁能告诉我我在这里做错了什么?
答案 0 :(得分:2)
您需要using Switch = Xamarin.Forms.Switch
而不是using Switch = Android.Widget.Switch