【问题标题】:Xamarin EditText InputType PasswordXamarin EditText InputType 密码
【发布时间】:2014-03-07 15:43:40
【问题描述】:

我得到了一些从 JSON 文件创建的 EditText 字段,因此我无法更改 XML 文件。但我希望一些EditText 字段具有输入类型“密码”。我正在使用 C# 在 Xamarin Studio 中工作。

我得到了类似的东西,但它不起作用:

editText.InputType = InputTypes.TextVariationPassword;

【问题讨论】:

  • 当您说“但这不起作用”时,您是什么意思?解释一下,以便我们为您提供帮助。
  • editText里面的文字只是文字,没有***。

标签: c# android .net xamarin android-edittext


【解决方案1】:

试试这个:

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 不能简单地从变体中推断出类,这样我们就不必指定多余的东西了吗?上面的简单案例非常简单,但是将多个标志设置为一个控件会变得更加复杂。然而,我个人仍然认为它相对容易实现,并且比当前让许多开发人员感到惊讶的冗余设计更好。

【讨论】:

  • @BleedingFingers 他们说迟到总比不到好,所以我按照你的要求添加了解释,仅在 2 年后:-)。
猜你喜欢
  • 2012-04-10
  • 1970-01-01
  • 1970-01-01
  • 2011-02-12
  • 1970-01-01
  • 2016-01-24
  • 2011-07-01
相关资源
最近更新 更多