【问题标题】:Android: Expand the inputType of EditText?Android:扩展EditText的inputType?
【发布时间】:2011-04-27 02:13:24
【问题描述】:

我想允许 EditText 可能输入 0-9、"," 或 "-",但找不到答案。

我知道使用“|”作为分隔符是可能的:

android:inputType="number|text"

但是我怎样才能存档这样的东西(太糟糕了,它不起作用):

android:inputType="number|,|-"

有人知道吗?

问候,

科迪


补充以下评论:

私有类 MyKeylistener 扩展 NumberKeyListener {

    public int getInputType() {
      return InputType.TYPE_CLASS_NUMBER;
    }
    @Override
    protected char[] getAcceptedChars() {
      return new char[] {'0','1','2','3','4','5','6','7','8','9',',','-'};
    }

}

【问题讨论】:

    标签: android android-edittext


    【解决方案1】:

    我认为没有办法提供这样的任意过滤器。您必须使用提供的filter types

    如果您找不到符合您要求的这些类型的组合,您可能需要使用 EditText 上的 TextWatcherInputFilter 自己进行过滤。

    【讨论】:

    • 感谢您的快速回复。你把这个想法放在我的脑海中搜索 KeyListener。这是我发现的,也许它对某人有用:
    • 只是一个注释(我认为您的评论结尾丢失了,所以不确定您在说什么,但是...) OnKeyListener 界面只会通知您通过物理键盘输入的文本,而不是来自屏幕键盘 (ime)。要侦听两者的文本更改,您需要使用我提到的一种方法。
    • 好吧..你提的很好 - 在模拟器中我无法在该字段中输入其他字符。我不知道如何在评论中发布代码,我将其发布在上面。最好的问候,科迪
    猜你喜欢
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多