【问题标题】:Edit Text without Autocorrect在没有自动更正的情况下编辑文本
【发布时间】:2012-06-07 20:46:14
【问题描述】:

我想要一个没有自动更正的 EditText。 我设置了textNoSuggestions inputType,如图:

 <EditText
    android:id="@+id/txtTarga"
    android:layout_width="150dp"
    android:layout_height="wrap_content"
    android:ems="10"
    android:hint="Targa"
    android:inputType="textNoSuggestions|textCapCharacters" >

大写标志有效,但仍在自动更正。

如何禁用它?

【问题讨论】:

  • inputType 是一个请求。输入法编辑器的开发人员可能会也可能不会尊重所有这些请求。任何给定的请求是否会被接受将取决于输入法编辑器,并且不同的设备会有不同的编辑器。

标签: android android-layout android-edittext


【解决方案1】:

textNoSuggestions 并非在每个键盘上都有效。接受的答案inputType="textVisiblePassword" 有效,但它会从大多数键盘上删除表情符号。

我发现设置inputType="textUri" 可以正常工作并保留添加表情符号的功能。

【讨论】:

    【解决方案2】:

    在 XML 中

    <EditText
            android:id="@+id/password"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:hint="password"
            android:imeOptions="actionDone"
            android:inputType="textPassword"
            android:singleLine="true"
            />
    

    在java源代码中

        // casting done from EditText to TextView
    
        TextView mPassword = (TextView) findViewById(R.id.password);
    

    不知道为什么会这样。但工作正常。

    【讨论】:

    • 使用android:inputType="textPassword" 可以转换***** 中的所有文本,就像输入密码一样。你的行为相同还是不同? (我没有投)
    • 是的,它显示为 *****,但 @Error404 的问题是密码字段自动建议列表被填充,需要抑制。
    • 但是如果你添加android:inputType="textNoSuggestions" 它不会给你任何建议。至少对我来说。
    • 跨设备行为不同。一些设备会接受android:inputType="textNoSuggestions" 的建议。因此,提供了替代解决方法。如果可以在Samsung Galaxy S4 上测试。使用我上面的`classcasting to TextView`并且没有class casting using as it as EdittextView
    【解决方案3】:
    android:inputType="textNoSuggestions"
    

    根据this,某些设备可能支持也可能不支持 inputType 属性。

    但是,这似乎更频繁地工作

    android:inputType="textNoSuggestions|textVisiblePassword"
    

    【讨论】:

      【解决方案4】:

      inputType textVisiblePassword 可以解决问题(大多数情况下,因为正如 Commonsware 指出的那样,它仍然是一个请求,您可能会发现自己找到了可以使用的设备,以及无法使用的设备)

      【讨论】:

      • android:inputType="textNoSuggestions|textVisiblePassword"。这似乎适用于运行 4.0.4 的三星 Galaxy S2
      【解决方案5】:

      您可以通过代码尝试,如下所示:

      EditText edittext = (EditText)findViewById(R.id.txtTarga);
      edittext.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
      

      【讨论】:

        猜你喜欢
        • 2017-12-11
        • 1970-01-01
        • 1970-01-01
        • 2011-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-13
        • 2013-03-29
        相关资源
        最近更新 更多