如何获得既可以输入电话号码又能隐藏字符串的EditText。我知道
android:inputType="textPassword"
隐藏了字符串,
android:inputType="phone"
弹出拨号盘界面。
如何将这两个组合起来?
如何获得既可以输入电话号码又能隐藏字符串的EditText。我知道
android:inputType="textPassword"
隐藏了字符串,
android:inputType="phone"
弹出拨号盘界面。
如何将这两个组合起来?
android:password
已弃用,但据我所知仍是唯一的方法,因为android:inputType="phone|textPassword"
会被忽略...
<EditText
android:id="@+id/EditText01"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:password="true"
android:inputType="phone" />
android:inputType="numberPassword"
编辑:在提问时(2010年),这可能不在API中,但对于当代开发来说,它是可用的。
我还没有找到一个合适的解决方案。dtmilano的解决方案并不能完全解决问题。如果在横屏模式下焦点在EditText上,你有全屏键盘,那么数字仍然以明文形式显示,而不是掩码。
我花了很多时间去查看实际的TextView代码,这是一个问题的原因是他们明确检查InputType是否与InputType.TYPE_CLASS_TEXT和TYPE_MASK_CLASS相匹配,如果我记得正确的话,范围被TYPE_CLASS_TEXT和TYPE_MASK_CLASS使用的是第一个字节。所以,如果你包含了任何其他在这些边界内的InputType(我认为TYPE_CLASS_TEXT和TYPE_MASK_CLASS使用的范围是第一个字节),那么它就不会被识别为需要掩码的密码。
我知道我说的很混乱。实际的代码更加混乱。说实话,我对TextView的代码感到非常震惊。它是一个纠缠不清的混乱,到处都是硬编码的检查。这种可怕的编码实践导致了像这样的问题。
这个问题可以在不使用已弃用的android:password
的情况下解决。请查看我的答案这里。
inputType
是正确方式的文档(正如 Roman 所提到的):http://developer.android.com/reference/android/R.attr.html#password - Christopher Orr