【问题标题】:EditText with input type = number , how to show user ":"输入类型 = number 的 EditText,如何显示用户“:”
【发布时间】:2015-05-05 16:52:01
【问题描述】:

所以,我希望用户在 EditText 中写入两个除以该符号“:”的数字。我已经在这个 EditText 中添加了 TextWatcher,所以我可以看到用户正在输入什么。

因此,这就是我在 afterTextChanged 中的 Watcher 中的内容。

@Override
public void afterTextChanged(Editable s) 
{
   String textToEdit = s.toString();
   if  (s.length()==2)
   {
      String h = s.toString();
      h = h+":";
      edit.setText(h);
      edit.setSelection(edit.getText().length()); 
   }

}

当用户输入超过 2 位数字时,我在 EditText 中添加“:”。

这里我有问题。 此 EditText 的输入类型为“数字”, 所以,只有数字可以在那里,“:”不是数字。

小例子: 用户输入 24。afterTextChanged 得到它并添加集合“24:”。 24 是一个数字,“24:”是一个字符串。

所以,现在我有了“24:”,当我尝试从 EditText 中删除某些内容时,我得到了致命错误。

还有其他方法可以在我的 EditText 中显示“:”吗?还是我做错了什么?

【问题讨论】:

标签: android android-edittext


【解决方案1】:

尝试将android:digits="0,1,2,3,4,5,6,7,8,9,:" 放入 EditText 的 xml 中

*编辑: 这实际上可能是android:digits="0123456789:":p

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-03
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 2017-01-10
    • 1970-01-01
    • 1970-01-01
    • 2018-08-06
    相关资源
    最近更新 更多