问题:
有谁知道为什么 CallCharMethod 不起作用?它正在记录 CallCharMethodV,这很奇怪,因为正如您在下面看到的,我没有使用 CallCharMethodV。一些帮助将不胜感激。
错误:
JNI DETECTED ERROR IN APPLICATION: the return type of CallCharMethodV does not match java.lang.CharSequence android.widget.TextView.getText()
代码:
globalEnv->CallVoidMethod(jobj, globalEnv->GetMethodID(env->GetObjectClass(jobj), "sendToastMessage", "(Ljava/lang/CharSequence;)V"),
env->CallCharMethod(jview, env->GetMethodID(env->FindClass("android/widget/TextView"), "getText", "()Ljava/lang/CharSequence;")));
最佳答案
java.lang.CharSequence
是一个接口(interface),因此从该方法返回的任何内容都将是一个对象,而不是 char
。请改用 CallObjectMethod
。
它提示 CallCharMethodV 的原因是因为 CallCharMethod 将其可变参数列表转发给该方法。
关于Android Studio 返回类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58199996/