【问题标题】:How can I turn off suggestions in EditText?如何关闭 EditText 中的建议?
【发布时间】:2010-09-24 18:31:42
【问题描述】:

如何在 Android 中关闭 EditText 中的建议?

【问题讨论】:

    标签: android


    【解决方案1】:
    android:inputType="textNoSuggestions"
    

    根据this,IME(键盘)可能支持也可能不支持。

    然而,这似乎更频繁地工作

    android:inputType="textNoSuggestions|textVisiblePassword"
    

    【讨论】:

    • android:inputType="textNoSuggestions|textVisiblePassword" 为我的 Wildfire 和 Desire HD 成功了。发送!
    • @Kurru:这行得通,但我在尝试“event.getKeyCode()”时遇到了丑陋的 NullPointerException 崩溃。
    • 请注意,这会导致 Swype 键盘出现问题。单词被“扫”后,空格不会自动添加。此外,语音转文本功能将无法使用,因为该功能已被禁用,因为 Swype 键盘将此视为“密码字段”。
    • 看来textVisiblePassword 也会导致日文键盘出现问题。对那个有任何想法吗?
    • 这也破坏了字符上限功能
    【解决方案2】:

    已经在 Yoni Samlan 发布的链接中进行了描述。您应该正确阅读文档;)

    有一个方法叫做setInputType。您只需要使用

    调用它
    edittext.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
    

    【讨论】:

    • HTC Desire 不支持
    • 奇怪的事情,在我的 Desire 和 Wildfire 中,在 xml 中设置 android:inputType="textNoSuggestions" 时它不起作用。在代码中设置它就像一个魅力 mEditText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);我的 Droid 用这两种方法都没有问题。
    • @ol_v_er:在带有 Hacker 键盘的 Galaxy Note 中,这两种解决方案都不适合我。
    • @LuisA.Florit 输入类型标志是键盘的标志,由键盘的实现来做正确的事情。
    • 重要的是不要将orTYPE_CLASS_TEXT 一起使用,否则它会一直覆盖“无建议”标志。
    【解决方案3】:

    这似乎效果更好;

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

    即可见密码和无建议输入类型是 OR'd 在一起

    为了确保您也可以将此属性添加到您的编辑文本中

    android:inputType="textNoSuggestions|textVisiblePassword"
    

    【讨论】:

      【解决方案4】:

      android:inputType="textNoSuggestions"。请参阅xml attribute documentation 和此 Android 开发人员blog post

      【讨论】:

      • 感谢您的回答。但是我动态地重新编辑了我想在java代码中做同样的事情。请帮助我。
      • Tseng 说得对——大多数 Android xml-settable 属性都有匹配的 set[attributeName] 方法,在本例中为 setInputType。
      【解决方案5】:

      如果您在活动中使用InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS,它将正常工作。如果是 DialogFragment,您应该将 InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS 放置在 onActivityCreated() 处理程序中,如下所示:-

      @Override
      public void onActivityCreated(Bundle savedInstanceState) {
          super.onActivityCreated(savedInstanceState);
          EditText editTextUsername =  (EditText)dialogView.findViewById(R.id.txtUsername);
          editTextUsername.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
      }
      

      【讨论】:

        【解决方案6】:

        使用下一个解决方法 - 我注意到在发送电子邮件时没有出现任何建议 -

        android:inputType="textCapSentences|textNoSuggestions|textEmailAddress"
        

        它不是 100%,但它正在工作 :)

        【讨论】:

        • 完美运行!
        【解决方案7】:

        如果 Editext/TextInputEditText 超过 1 行 然后添加 textMultiLine

         android:minLines="10"
         android:inputType="textNoSuggestions|textMultiLine|textVisiblePassword"
        

        【讨论】:

          【解决方案8】:

          这对我有用:

          android:importantForAutofill="no"
          

          【讨论】:

            猜你喜欢
            • 2010-12-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-05-07
            • 2016-05-06
            相关资源
            最近更新 更多