xamarin怎么调用java的_Xamarin.Android绑定调用java Object方法

我通过名为Xamarin.GradleBinding的visual studio扩展创建了

java绑定库.我添加了ru.rambler.android:swipe-layout:1.0.14包,并在使用其SwipeLayout时,一切正常.但不幸的是,它没有创建相应的C#类或类似的东西.我尝试手动添加包但仍然没有.

我检查了source on GitHub.SwipeLayout有一个没有参数的public void方法reset():

public void reset()

我尝试使用JNIEnv从c#调用此方法.

IntPtr type = JNIEnv.FindClass("ru/rambler/libs/swipe_layout/SwipeLayout");

IntPtr method = JNIEnv.GetMethodID(type, "reset", "()V");

try

{

JNIEnv.CallObjectMethod(_swiper.Handle, method);

}

catch (Exception ex)

{

var s = ex.Message;

}

已成功找到类型和方法,但正在调用

JNIEnv.CallObjectMethod(_swiper.Handle, method);

这个方法崩溃了应用程序,它甚至没有进入catch块.

Tt必须是_swiper.Handle第一个参数的原因.

_swiper字段的类型为ViewGroup,因为SwipeLayout是从ViewGroup派生的.

我找不到如何获取视图的指针来传递该方法.

在调试时,当我调查_swiper时,它似乎是SwipeLayout的正确实例

PtFdN.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值