当 EditText 控件的 inputType 为数字时,如何为其设置文本

Posted

技术标签:

【中文标题】当 EditText 控件的 inputType 为数字时,如何为其设置文本【英文标题】:How to set text for EditText control when its inputType is number 【发布时间】:2013-09-20 16:19:00 【问题描述】:

当 EditText 控件的 inputType 为数字时,如何以编程方式为其设置文本?

<EditText
    android:id="@+id/WorkingHoursET"
    android:layout_
     android:textColor="@color/white"
    android:layout_
    android:layout_alignLeft="@+id/WorkingHoursTV"
    android:layout_below="@+id/WorkingHoursTV"
    android:layout_marginTop="14dp"
    android:ems="10"
    android:inputType="number" />


    EditText workedHours = (EditText)findViewById(R.id.WorkedHoursET);
    workedHours.setText(8); //this is not working
    workedHours.setText("8"); //neither this

【问题讨论】:

我猜这是因为您传递了错误的 ID WorkedHoursSET 而不是 WorkingHoursSET 是的,你是对的 :) 非常感谢 【参考方案1】:

试试

workedHours.setText("8", BufferType.EDITABLE);

如果您查看EditText 的文档,您会发现setText() 方法。它接受StringTextView.BufferType


注意: 正如 Shailendra Singh Rajawat 所说,您可能使用了错误的 EditText id。你也应该调查一下。该代码应该是

EditText workedHours = (EditText)findViewById(R.id.WorkingHoursET);

【讨论】:

以上是关于当 EditText 控件的 inputType 为数字时,如何为其设置文本的主要内容,如果未能解决你的问题,请参考以下文章

Android资料之-EditText中的inputType

控件EditText

如何获取android安卓控件EditText中的内容

android-解决EditText的inputType为Password时, 字体不一致的问题

设置不同的android:inputTye属性导致 EditText hint的字体发生改变

Android:设置EditText 背景