如何禁用 EditText 上的键盘建议并告诉键盘显示额外的数字行

问题描述 投票:0回答:1

我的布局文件中有一个 EditText。当我单击(焦点)EditText 时,软键盘会出现在键盘建议栏中包含预测词(见图 1)。

图1

但我希望当我单击 EditText 时,键盘将出现,但没有建议栏,并且有一个额外的数字行(参见图 2)。

图2

我已经尝试过一些答案,说添加以下属性即可做到这一点,但它们似乎都不适合我。

inputType="text|textNoSuggestion"
inputType="textFilter"
不起作用。

下面的代码可以工作,但也可以打开安全键盘。(oppo,vivo手机内置功能)

inputType="textNoSuggestion|textVisiblePassword"

有什么解决方案可以在不打开安全键盘的情况下完成它吗?

注意。我不想禁用安全键盘。

我在 Playstore 上的某些代码编辑应用程序上看到了此功能。

android android-edittext android-softkeyboard
1个回答
0
投票

初始化EditText后添加此内容

editText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);

然后添加TextWatcher来处理输入变化

editText.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
        }

        @Override
        public void afterTextChanged(Editable editable) {
            // Check if the EditText is empty 
            if (editable.toString().isEmpty()) {
                editText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
            }
       }
 });

希望它有效

© www.soinside.com 2019 - 2024. All rights reserved.