【发布时间】:2010-01-07 01:48:01
【问题描述】:
如何获得具有电话输入和隐藏字符串功能的 Edittext。我知道
android:inputType="textPassword"
隐藏字符串,而
android:inputType="phone"
调出拨号盘界面。
如何将两者结合起来?
【问题讨论】:
如何获得具有电话输入和隐藏字符串功能的 Edittext。我知道
android:inputType="textPassword"
隐藏字符串,而
android:inputType="phone"
调出拨号盘界面。
如何将两者结合起来?
【问题讨论】:
android:password 已弃用,但 AFAIK 是唯一的方法,因为 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" />
【讨论】:
inputType 的文档(正如 Roman 提到的那样):developer.android.com/reference/android/R.attr.html#password
我相信这就是你想要的?
android:inputType="numberPassword"
编辑:在提出问题时(2010 年),这可能不在 API 中,但对于当代开发,它是可用的。
【讨论】:
我还没有找到解决这个问题的合适方法。 dtmilano 接受的解决方案并不完全有效。如果 EditText 在您拥有全屏键盘的横向模式下聚焦,则数字仍以明文显示,而不是被屏蔽。
我花了很多时间查看实际的 TextView 代码,这是一个问题的原因是他们明确地检查 InputType 与 InputType.TYPE_CLASS_TEXT,如果我没记错的话,TYPE_MASK_CLASS。因此,如果您在这些范围内包含任何其他 InputType(我认为 TYPE_CLASS_TEXT 和 TYPE_MASK_CLASS 使用的范围是第一个字节),那么它将不会被识别为需要屏蔽的密码。
我知道我说的很混乱。实际代码更令人困惑。老实说,我对 TextView 的代码感到非常震惊。这是一团乱麻,到处都是硬编码的支票。糟糕的编码实践会导致这样的问题。
【讨论】:
这个问题可以在不使用已弃用的android:password 的情况下解决。看我的回答here。
【讨论】:
【讨论】: