【问题标题】:How to avoid showing characters like Ä in android keyboard如何避免在 android 键盘中显示 Ä 等字符
【发布时间】:2017-04-03 04:35:23
【问题描述】:

我遇到了一个问题,我的一个用户在编辑文本中输入了 Ä 之类的字符,我正在从该数据准备一个 XML。由于编码问题,我无法从这些字符中准备有效的 XML。无论如何我可以阻止用户输入这种字符,或者我可以从android默认键盘本身隐藏这些字符吗?

问候

【问题讨论】:

  • 与其禁止这些字符更好地解决您的编码问题。

标签: android android-edittext android-keypad


【解决方案1】:

您可以限制用户在编辑文本中仅输入特定字符,如下所示,

<EditText
    android:id="@+id/YourEdittextId"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textNoSuggestions"
    android:privateImeOptions="nm"
    android:digits="0123456789 abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ" />

以上代码限制用户只能输入英文数字、字母和空格

【讨论】:

    【解决方案2】:

    在您的编辑文本中隐藏建议字符串。

    android:inputType="textFilter" 
    

    【讨论】:

      【解决方案3】:

      在我遇到同样问题的前几天,我通过创建以下方法解决了这个问题。

      public static String stripSpecialUTFChars(String string) {
          return string.replaceAll("\u0080", "");
        }
      

      请将您的字符串传递给上述方法,并像下面这样使用

      textView.setText(Html.fromHtml(stripSpecialUTFChars(yourString)));
      

      实际上这个问题是由于 UTF 字符造成的。

      【讨论】:

        猜你喜欢
        • 2019-03-08
        • 2013-07-28
        • 2016-08-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多