我从JSON文件创建了一些EditText
个字段,因此我无法更改XML文件。但我希望一些EditText
字段的输入类型为“password”。我正在使用C#在Xamarin Studio工作。
我有类似的东西,但这不起作用:
editText.InputType = InputTypes.TextVariationPassword;
答案 0 :(得分:17)
试试这个:
editText.InputType = Android.Text.InputTypes.TextVariationPassword |
Android.Text.InputTypes.ClassText;
编辑: 2年后,这个答案中仍有一些兴趣(即投票),所以我想在他的出血手指中添加一个解释评论如下。我希望它会对某人有所帮助。
在许多其他语言/平台(例如HTML)中,您只需将控件设置为password
即可。这就是OP试图做的,但Android的设计不同(而且很奇怪恕我直言)。它将标志分为类和变体。您必须先选择一个班级(例如ClassText
),然后应用您想要的变体(例如TextVariationPassword
)。如果您只设置变体,则Android不知道您想要哪个类。例如,您可以使用文本密码TextVariationPassword
(因此将其与文本类ClassText
结合使用),或者您可以使用数字密码NumberVariationPassword
(因此您可以将其与数字组合使用) class ClassNumber
)。
现在所有解释都开始有意义,除了有人可能会问的问题: Android不能简单地从变体中推断出类,所以我们不必指定多余的东西吗? For上面的简单案例非常简单,但是将一些标志设置为一个控件会变得更加复杂。然而,我个人认为它比目前的冗余设计相对容易实现和更好,令许多开发人员感到意外。