26

如何获得具有电话输入和隐藏字符串能力的 Edittext。我知道

android:inputType="textPassword"

隐藏字符串,而

android:inputType="phone"

调出拨号盘界面。

如何将两者结合起来?

4

5 回答 5

34

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" />
于 2010-01-07T02:16:18.280 回答
5

我相信这就是你想要的?

android:inputType="numberPassword"

编辑:在提出问题时(2010),这可能不在 API 中,但对于当代发展,它是可用的。

于 2014-01-04T00:45:29.973 回答
2

我还没有找到解决这个问题的合适方法。dtmilano 接受的解决方案并不完全有效。如果 EditText 专注于您拥有全屏键盘的横向模式,则数字仍以明文显示,而不是被屏蔽。

我花了很多时间浏览实际的 TextView 代码,这是一个问题的原因是他们明确地检查 InputType 与 InputType.TYPE_CLASS_TEXT,如果我没记错的话,TYPE_MASK_CLASS。因此,如果您在这些范围内包含任何其他 InputType(我认为 TYPE_CLASS_TEXT 和 TYPE_MASK_CLASS 使用的范围是第一个字节),那么它将不会被识别为需要屏蔽的密码。

我知道我说的很混乱。实际代码更令人困惑。老实说,我对 TextView 的代码感到非常震惊。这是一团乱麻,到处都是硬编码的支票。可怕的编码实践会导致这样的问题。

于 2011-05-26T23:30:27.343 回答
1

这个问题可以在不使用 deprecated 的情况下解决android:password在这里查看我的答案。

于 2010-10-25T12:41:01.800 回答
0

我还没有尝试过,但是可以像这样将两者结合起来:

android:inputType="textPassword|phone"

因为inputType可以取多个值。

于 2010-01-07T02:08:04.113 回答