Nativescript:如何在 android 上关闭对 textField 的预测?
Nativescript: how to turn off predictions for textField on android?
所以我正在用打字稿编写我的应用程序,我想禁用当您在输入中输入内容时出现的预测。即使在设备上启用了它们,我也想禁用它们。我得到了对我的输入 (textField) 元素的引用,这是有效的:
this.page.getViewById("place")
在 nativescript 文档中,我没有看到以编程方式关闭预测的选项,但我知道这可以通过使用 setInputType
方法并传递标志的本机函数 (https://developer.android.com/reference/android/widget/EditText.html) 来完成TYPE_TEXT_FLAG_NO_SUGGESTIONS
。
所以我这样访问原生函数:
var input_type = new android.text.InputType("TYPE_TEXT_FLAG_NO_SUGGESTIONS");
this.page.getViewById("place").android.setInputType( input_type );
但我想我初始化 InputType class 不正确,因为它会引发错误:
First argument must be implementation object
啊,看在上帝的份上,终于用这个了:
this.page.getViewById<textFieldModule.TextField>("place").android.setInputType(android.text.InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | android.text.InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
只是为了扩展@Starwave 解决方案,您可以在 TextField 上设置(加载)事件,然后在内部触发禁用建议,如下所示
onTextFieldLoaded(args) {
let textfield: TextField = <TextField>args.object;
if (isAndroid) {
textfield.android.setInputType(
android.text.InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS |
android.text.InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
);
}
}
所以我正在用打字稿编写我的应用程序,我想禁用当您在输入中输入内容时出现的预测。即使在设备上启用了它们,我也想禁用它们。我得到了对我的输入 (textField) 元素的引用,这是有效的:
this.page.getViewById("place")
在 nativescript 文档中,我没有看到以编程方式关闭预测的选项,但我知道这可以通过使用 setInputType
方法并传递标志的本机函数 (https://developer.android.com/reference/android/widget/EditText.html) 来完成TYPE_TEXT_FLAG_NO_SUGGESTIONS
。
所以我这样访问原生函数:
var input_type = new android.text.InputType("TYPE_TEXT_FLAG_NO_SUGGESTIONS");
this.page.getViewById("place").android.setInputType( input_type );
但我想我初始化 InputType class 不正确,因为它会引发错误:
First argument must be implementation object
啊,看在上帝的份上,终于用这个了:
this.page.getViewById<textFieldModule.TextField>("place").android.setInputType(android.text.InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | android.text.InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
只是为了扩展@Starwave 解决方案,您可以在 TextField 上设置(加载)事件,然后在内部触发禁用建议,如下所示
onTextFieldLoaded(args) {
let textfield: TextField = <TextField>args.object;
if (isAndroid) {
textfield.android.setInputType(
android.text.InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS |
android.text.InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
);
}
}