【问题标题】:android setEnabled but unchange textandroid setEnabled但未更改文本
【发布时间】:2014-04-22 01:58:09
【问题描述】:

我有一些编辑文本字段,我想在某些时候使其不可编辑。我使用了 setEnabled 方法,但这也会使文本变灰。有没有办法切换字段是否可以编辑但不能改变文本的外观?自从我上次弄乱 Android 以来已经有一段时间了,但我认为我曾经能够使用 setEditable ,这正是我想要的。

我尝试使用 android:focusable="false" 但我仍然可以编辑该字段,除非这只是模拟器的行为,我认为这不会起作用。

【问题讨论】:

  • 可能灰色会出现在可绘制的背景中,使用选择器enabled="false",您可以指定自定义背景-ie.black- 并查看它是否变灰。如果没有,请使用下划线等创建一个漂亮的drawable。

标签: java android android-edittext


【解决方案1】:

您可以通过将 EditText 的输入类型设置为 InputType.TYPE_NULL 来禁用没有任何可见指示的 EditText 输入。一个示例如下所示:

import android.text.InputType;
. . .
myEditText..setInputType(InputType.TYPE_NULL);

请注意,此行为与 reference docs 似乎在说的内容并不完全一致,并且似乎没有 XML 等效项。

【讨论】:

  • 谢谢,非常适合我的标准编辑文本,并且可以使用 InputType.TYPE_CLASS_NUMBER 轻松重新启用。我也有一个编辑文本,但它有一个与之关联的触摸侦听器日期选择器。你知道如何给它一个类似的行为,因为 setInputType 不适合它吗?
  • 我对这些不太熟悉,但也许您可以将最小和最大日期设置为当前日期,以防止用户更改日期。
猜你喜欢
  • 1970-01-01
  • 2014-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多