【问题标题】:block characters ë,à,é,ä etc from keypad in android在 android 的键盘上阻止字符 ë、à、é、ä 等
【发布时间】:2019-03-08 14:44:18
【问题描述】:

有没有办法使用输入过滤器阻止长按 android 中的 a、e、i 等键时出现的字符,如 ä。

【问题讨论】:

标签: java android android-input-filter


【解决方案1】:

希望对你有帮助

private EditText editText;
private String characterSet = "give_blocking_charset_here";

private InputFilter filter = new InputFilter() {

    @Override
    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {

        if (source != null && characterSet.contains(("" + source))) {
            return "";
        }
        return null;
    }
};

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    editText = (EditText) findViewById(R.id.editText);
    editText.setFilters(new InputFilter[] { filter });
}

【讨论】:

  • 我希望得到一个更通用的答案,因为我无法添加或不知道长按某个键时出现的所有字符类型,并且如果我将上述内容用于“abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789”等字符集,如果我输入“aa”,它将呈现为空白。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-05
  • 1970-01-01
  • 2012-06-17
  • 1970-01-01
  • 2013-08-23
  • 2012-11-18
  • 2018-04-19
相关资源
最近更新 更多