android - Android Studio 返回类型不匹配
问题描述
问题:
有谁知道为什么 CallCharMethod 不起作用?它正在记录 CallCharMethodV,这很奇怪,因为如下所示,我没有使用 CallCharMethodV。一些帮助将不胜感激。
错误:
应用程序中的 JNI 检测到错误:CallCharMethodV 的返回类型与 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
是一个接口,因此从该方法返回的任何内容都将是一个对象,而不是char
. 改为使用CallObjectMethod
。
它抱怨 CallCharMethod V的原因是因为 CallCharMethod 将其变量参数列表转发给该方法。
推荐阅读
- rxjs - 如何使用 ws ( Websockets ) 和 RxJs 在 NestJS 中连接一个长时间运行的进程
- flutter - 打印出所有 hashMap 值
- php - 将现有数据从 php 解密到 nodejs
- java - 无法在主应用程序的 setter 方法中引发自定义异常
- javafx - 表列首选项宽度
- sql - 在 PIVOT 内的 AVG 函数后设置两位小数
- quarkus - RESTEASY003210:找不到完整路径的资源 - Quarkus
- monaco-editor - 链接模型的首选方式
- shopware - Shopware 5如何在客户表中显示用户属性?
- python - 将列表附加到 numpy 数组