如何避免在Android键盘中显示Ä字符等字符

时间:2017-04-03 04:35:23

标签: android android-edittext android-keypad

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

此致

3 个答案:

答案 0 :(得分:2)

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

<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" />

以上代码限制用户仅输入英文数字,​​字母和空格

答案 1 :(得分:0)

在您的edittext中隐藏建议字符串。

android:inputType="textFilter" 

答案 2 :(得分:-1)

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

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

请将您的字符串传递给上述方法并使用如下

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

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