Xamarin EditText 输入类型密码

5

我有一些EditText字段,这些字段是从JSON文件创建的,所以我无法更改XML文件。但是我希望某些EditText字段具有输入类型“password”。我正在使用C#的Xamarin Studio。

我尝试了以下方法但不起作用:

editText.InputType = InputTypes.TextVariationPassword;

当你说“但是那行不通”时,你的意思是什么?请解释一下,这样我们才能帮助你。 - Racil Hilan
1
editText 中的文本只是普通文本,没有 ***。 - Tom Spee
1个回答

21

试试这个:

editText.InputType = Android.Text.InputTypes.TextVariationPassword | 
                          Android.Text.InputTypes.ClassText;

编辑:现在已经过去2年了,这个答案仍然有一些兴趣(即投票),所以我想根据Bleeding Fingers在下面的评论中提出的要求添加一个解释。希望对某人有帮助。

在许多其他语言/平台(例如HTML)中,您只需将控件设置为password即可正常工作。这就是OP试图做的事情,但Android设计方式不同(并且相当奇怪)。它将标志分为类别变化。首先选择类别(例如ClassText),然后应用所需的变化(例如TextVariationPassword)。如果只设置变化,则Android不知道您想要什么类别。例如,您可以拥有文本密码TextVariationPassword(因此将其与文本类ClassText结合使用),也可以拥有数字密码NumberVariationPassword(因此将其与数字类ClassNumber结合使用)。

现在所有解释都开始有些意义了,除了可能会有人问的一个问题:Android难道不能从变化推断出类别,以便我们无需指定冗余的内容吗?对于上面的简单情况,这非常容易,但如果将多个标志设置为一个控件,则会变得更加复杂。尽管如此,我仍然认为这相对容易实现,并且比当前的冗余设计要好,让许多开发人员感到惊讶。


1
@BleedingFingers 他们说“迟到总比不到好”,所以我在你的要求下添加了一个解释,只是晚了2年:-)。 - Racil Hilan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接