【问题标题】:How to set InputType 'time' programmatically?如何以编程方式设置 InputType 'time'?
【发布时间】:2018-03-14 06:01:40
【问题描述】:

我可以在 XML 中设置 InputType 'time'

<EditText
    android:inputType="time"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

我需要一个显示digitscolon(:) 的键盘。如何以编程方式设置InputType'time'?

【问题讨论】:

  • "et..setInputType(InputType.TYPE_CLASS_TEXT)" 。就这样
  • @ADM,但我找不到 InputType.TYPE_CLASS_TIME 或类似的东西
  • 有一个输入类型为TYPE_CLASS_DATETIME

标签: android android-edittext ime


【解决方案1】:

对于time 字段:

 setInputType(InputType.TYPE_CLASS_DATETIME |InputType.TYPE_DATETIME_VARIATION_TIME);

datetime 有点(.)、斜杠(/),我不想在键盘上显示

你应该试试

setKeyListener(DigitsKeyListener.getInstance("0123456789:"));

【讨论】:

  • 日期时间有点(.),斜线(/),我不想在键盘上显示
  • @AndroidSmile.com setKeyListener(DigitsKeyListener.getInstance("0123456789."));
  • 这对我有用:setInputType(InputType.TYPE_CLASS_DATETIME |InputType.TYPE_DATETIME_VARIATION_TIME);
  • @AndroidSmile.com 很高兴听到。继续前进。
【解决方案2】:

在 XML 中的 EditText 中设置 digits 属性

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="number"
    android:digits="0123456789:"/>

或者您可以通过编程方式设置为,

editText.setKeyListener(DigitsKeyListener.getInstance("0123456789:"));

【讨论】:

  • 问题是我以编程方式添加 EditText。如何以编程方式设置数字?
  • 如果它确实对您有帮助,那么您可以标记为答案,以便对其他人有用@AndroidSmile.com
【解决方案3】:

试试这个

  • 您可以通过添加 programmatically 来完成

editText.setKeyListener(DigitsKeyListener.getInstance("0123456789:"));

【讨论】:

    猜你喜欢
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-13
    • 2011-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多