實現 Java 介面
如果 java 庫包含應該由使用者實現的介面(例如,點選 View.IOnClickListener
或 callbacks 之類的監聽器),則實現類必須直接或間接地從 Java.Lang.Object
或 Java.Lang.Throwable
繼承。這是一個常見錯誤,因為打包步驟只是列印一個容易被忽略的警告:
型別’MyListener’實現 Android.Runtime.IJavaObject 但不從 Java.Lang.Object 繼承。它不受支援。
錯誤
使用此實現將導致意外行為。
class MyListener : View.IOnClickListener
{
public IntPtr Handle { get; }
public void Dispose()
{
}
public void OnClick(View v)
{
// ...
}
}
正確
class MyListener :
Java.Lang.Object, // this is the important part
View.IOnClickListener
{
public void OnClick(View v)
{
// ...
}
}