如何在 WebView 中获取 InputConnection?
Posted
技术标签:
【中文标题】如何在 WebView 中获取 InputConnection?【英文标题】:How can i get InputConnection in WebView? 【发布时间】:2021-06-16 16:49:53 【问题描述】:在我的 Web View 项目中,我需要处理 android 软键盘
如果我不扩展 Web 视图,我如何获得输入连接??????
mBinding.wvMain.onCreateInputConnection(new EditorInfo());
我想这样使用...
public InputConnection onCreateInputConnection(EditorInfo outAttrs)
BaseInputConnection ic = new BaseInputConnection(this, true);
outAttrs.inputType = InputType.TYPE_CLASS_NUMBER; // Tells the keyboard to show the number pad
return ic;
【问题讨论】:
【参考方案1】:第一步:创建自己的类并继承WebView
class CustomWebView @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null
) : WebView(context, attrs)
override fun onCreateInputConnection(outAttrs: EditorInfo?): InputConnection
val ic = BaseInputConnection(this, true)
outAttrs!!.inputType =
InputType.TYPE_CLASS_NUMBER
return ic
第 2 步:在您的 XML 中使用 CustomWebView
<com.example.testapp.CustomWebView
android:id="@+id/wvMain"
android:layout_
android:layout_
android:focusable="true"
android:focusableInTouchMode="true"
android:longClickable="false" />
现在,在您的 Activity 中,您可以使用自定义 Web 视图。
mBinding.wvMain.loadUrl(url)
mBinding.wvMain.settings.javascriptEnabled = true
【讨论】:
以上是关于如何在 WebView 中获取 InputConnection?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Java 中使用 WebResourceRequest 获取 WebView 的 Url?