2010-10-18 62 views
3

我想为EditText允许输入0-9,“,”或“ - ”,但找不到答案。Android:展开EditText的inputType?

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

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',',','-'}; 
    } 

}

回答

2

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

如果找不到符合要求的那些类型的组合,则可能需要使用EditText上的TextWatcherInputFilter进行筛选。

+0

感谢您的快速响应。你把这个想法放在脑海里去寻找一个KeyListener。以下是我发现的内容,可能对某人有用: – cody 2010-10-18 22:15:48

+0

请注意(我认为评论的结尾已经丢失,所以不确定你说的是什么,但是...)OnKeyListener界面只会通知你输入的文本通过物理键盘,而不是屏幕键盘(ime)。为了听取来自两者的文本更改,您需要使用我提到的一种方法。 – 2010-10-18 22:19:35

+0

好的,你提到的是 - 在模拟器中,我无法在该字段中输入其他字符。我不知道如何在评论中发布代码,我在上面发布了它。最好的问候,科迪 – cody 2010-10-18 22:26:40

相关问题