【发布时间】:2020-09-03 13:59:01
【问题描述】:
所以我正在使用打字稿编写我的应用程序,并且我想禁用在您在输入中输入内容时出现的预测。即使在设备上启用了它们,我也想禁用它们。我得到了对我的输入(textField)元素的引用,如下所示:
this.page.getViewById("place")
在 nativescript 文档中,我没有看到以编程方式关闭预测的选项,但我知道它可以通过使用 setInputType 方法并传递标志 TYPE_TEXT_FLAG_NO_SUGGESTIONS 的本机函数 (https://developer.android.com/reference/android/widget/EditText.html) 来完成。
所以我像这样访问本机函数:
var input_type = new android.text.InputType("TYPE_TEXT_FLAG_NO_SUGGESTIONS");
this.page.getViewById("place").android.setInputType( input_type );
但我猜我初始化 InputType 类不正确,因为它抛出了一个错误:
First argument must be implementation object
【问题讨论】:
-
TYPE_TEXT_FLAG_NO_SUGGESTIONS 是一个整数...检查文档中的值并使用它...
-
啊,你是对的。将
InputType("TYPE_TEXT_FLAG_NO_SUGGESTIONS")更改为InputType(524288),但得到相同的错误。 -
TextField 具有属性
autocorrect- docs.nativescript.org/api-reference/classes/…。您可以将此属性设置为false并且预测应该停止 -
不确定
autocorrect做了什么,但它肯定不会禁用预测。this.page.getViewById<textFieldModule.TextField>("place").autocorrect = false; -
好的,自动更正实际上会禁用自动更正 - 如果您键入“Ca”并按空格键,它不会自动更正为“Can”。但是,我仍然看到键盘上方的建议窗口,我需要以编程方式将其删除。我该怎么做?
标签: android typescript native nativescript