如何在xamarin中实现android接口,其中没有委托替代方案。像这样ListPopupWindow.SetOnItemClickListener(AdapterView.IOnItemClickListener clickListener)
?
答案 0 :(得分:2)
在xamarin官方网站上有关于此主题的上帝文件Android Callable Wrappers
要记住的主要内容是子类Java.Lang.Object
。
我也创建了自己的包装器,以便我可以使用委托在代码中重用它。
public class OnItemClickListener : Object, AdapterView.IOnItemClickListener{
public delegate void ItemClick(AdapterView parent, View view, int position, long id);
public OnItemClickListener(ItemClick itemClickDelegate){
ItemClickDelegate = itemClickDelegate;
}
public ItemClick ItemClickDelegate { get; }
public void OnItemClick(AdapterView parent, View view, int position, long id){
ItemClickDelegate(parent, view, position, id);
}
}
用法:
new CallbackWrapers.OnItemClickListener(
delegate (AdapterView parent, View view1, int position, long id) {
//Do your stuff
}));