Xamarin 中的接口回调
Posted
技术标签:
【中文标题】Xamarin 中的接口回调【英文标题】:Interface Callback in Xamarin 【发布时间】:2018-05-24 02:50:53 【问题描述】:我正在尝试使用 c# 从 Xamarin 内部的 java 库中编写接口回调,下面是代码 sn-p,
Connector.getInstance().login(email, new ILoginCallback()
@Override
public void onSuccess(long heloUserId)
/* call the required Activity for successful login */
@Override
public void onPinverification()
/*call the Pin verification activity to validate pin */
@Override
public void onFailure(String description)
/*show the toast msg for failure*/
);
我无法在 c# 中进行接口回调,这阻止了我获得成功或失败的结果。
任何帮助表示赞赏。
【问题讨论】:
【参考方案1】:在继承自 Java.Lang.Object
的类上实现您的接口:
public class MyLoginCallback : Java.Lang.Object, ILoginCallback
// implement the interface
然后使用现在也具有 android Callable Wrapper (ACW) 的 C# 类作为回调实例。
类似:
Connector.Instance.Login(email, new MyLoginCallback();
回复:Android Callable Wrappers
【讨论】:
感谢您的回复。不幸的是,但代码仍然无法正常工作。能否请您详细说明。 我做了这样的事情,public partial class HeloLogin : ContentPage private void OnRegister(object sender, EventArgs e) Connector.Instance.Login(Email.Text, new XYZ()); 公共类 XYZ : Java.Lang.Object, ILoginCallback public void Dispose() public void OnFailure(string p0) public void OnPinverification() public void OnSuccess(long p0) @user6352350 这并没有告诉我什么不是“工作” 我在每个方法上都设置了断点。但回调行执行后什么都没有命中。 @user6352350 你需要调试Connector.Instance.Login
所做的任何事情......我不知道它做了什么或绑定了什么Java库。【参考方案2】:
如下实现你的界面
public class MyLoginCallback : Java.Lang.Object, ILoginCallback, ISerializable
public MyLoginCallback()
public MyLoginCallback(IntPtr intPtr, Android.Runtime.JniHandleOwnership handleOwnership)
// implement the interface methods here
【讨论】:
以上是关于Xamarin 中的接口回调的主要内容,如果未能解决你的问题,请参考以下文章