如何在没有委托替代方案的情况下在 xamarin 中实现 android 接口。像这样ListPopupWindow.SetOnItemClickListener(AdapterView.IOnItemClickListener clickListener)?
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);
}
}
Run Code Online (Sandbox Code Playgroud)
及用法:
new CallbackWrapers.OnItemClickListener(
delegate (AdapterView parent, View view1, int position, long id) {
//Do your stuff
}));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2701 次 |
| 最近记录: |