当前位置: 首页 > 知识库问答 >
问题:

Android Studio:WebView.onCreateInputConnection存在问题

沈英勋
2023-03-14

我为一些带有自定义应用内键盘的 Android 4.2 设备编写了一个网络视图应用程序。实际上,该应用程序在装有Android 4.2的设备上运行没有任何错误。

我知道这是一个非常旧的Android版本,这就是为什么我现在得到了一个带有Android 7.1.2的新设备的原因,但不幸的是,该应用程序无法在此设备上运行。

在下面的代码示例中,我创建了一个到WebView的InputConnection,并假设引用了我的自定义键盘。这是导致错误的代码:

   val ic = mWebView.onCreateInputConnection(EditorInfo())
    mMyKeyboard.setInputConnection(ic)

对象“MyKeyboard”的“setIn的连接”代码

  fun setInputConnection(ic: InputConnection) {
    inputConnection = ic
}

错误消息:

E/AndroidRuntime:致命异常:主进程:com.example.aaa。bbb,PID:5012 java.lang.RuntimeException:无法启动android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2727)处的活动ComponentInfo{com.example.aaa.bbb/com.exaample.aaaa.bbb.MainActivity}:java.lang.IllegalStateException:ic在android.app.activity Thread.performLaunchActive(activity线程.java:2666)处不能为空android.app.ActivityThread$H.handleMessage(ActivityThread.java:1478)位于android.os.Handler.dispatchMessage(Handler.java:102),android.Looper.loop(Looper.java:154)位于java.lang.reflect.Method,android.app.activityThad.main(ActivatyThread.java:6123)。在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(Zygote Init.java:889)在com.aandroid.intral.os.ZygoteInit.main(ZygoteInit.jeva:779)调用(本机方法)由:java.lang.IllegalStateException:ic在com.example.huf.ifsscan.MainActivity.onCreate(MainActivation.kt:59)在android.app.Activity.performCreate(Activity.java:6723)处不能为空android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119),位于android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2619),位于Android.app.activityThad.handleLaunchActive(Activity线程.java=2727)

目前我不知道为什么会发生这种情况。WebView对象的“onCreateIn的连接”留档显示它应该没问题。

Android开发人员| Webview

我在API 19 (Android 4.2)或者API 25 (7.1)下编译都没有区别。

有人知道问题可能是什么吗?

先谢谢了

共有1个答案

澹台聪
2023-03-14

似乎我发现了问题。

在Android 4.2的应用程序中,上面的代码获取并假设输入连接是“on创建”函数的一部分。它像Android 7.1一样在那里工作有点不同,在我将指定的代码部分移动到“onPageFin的”函数后,它工作正常。

我想onCreate函数中缺少一个引用。但我觉得很奇怪,它以前有效。

 类似资料:
  • 完整的程序代码在此处:单击此处 启动时,我会遇到以下异常: 请告诉我如何解决这个问题?为什么会出现这种情况? 对评论的答复: @Kandy“您使用的数据库是什么,您能告诉驱动程序名还是显示您的数据库配置代码?” 我正在使用Postgresql。 pom.xml 和配置应用程序。性质

  • 我有以下课程: DBEntity.java 使用者JAVA 用户服务。JAVA UserRepository.java

  • 对容器类型为泛型的 trait 有类型规范需要——trait 的成员必须指出全部关于它的泛型类型。 在下面例子中,Contains trait 允许使用泛型类型 A 或 B。然后这个 trait 针对 Container 类型实现,指定 i32 为 A 和 B,因而它可以用到 fn difference()。(本段原文:In the example below, the Contains trai

  • 我使用intellij IDEA进行开发,我注意到IDEA在Java7上运行时,maven插件在下载依赖项时出现了问题(我在Windows7)。然而,在Java6上运行它就没有这个问题了。 以下是idea.log的摘录 我按照建议做了以下几点 > 确保我的/etc/hosts文件中有 将添加到我的idea64.exe.vmoptions,因此文件如下所示 谢谢你的帮助。

  • 我对Android Studio和应用程序设计非常陌生,我在设计应用程序时面临一些问题。 我使用相对布局来设置页面上不同元素的位置,但它不起作用。我在下面列出了我的语法和结果供您参考。 但结果是: 设备: on Nexus 6P API 27 Oreo 我确实检查了与相对布局问题相关的其他问题,但我不认为它们像这个案例一样糟糕,所以我把它作为一个单独的问题来问。