尝试在EditText中将数字设置为文本

时间:2012-01-03 18:02:15

标签: java android xml

我在编辑文本中设置double时遇到问题,我无法摆脱错误。我究竟做错了什么?

这就是我所拥有的:

    final EditText somedouble_et = (EditText)findViewById(R.id.somedouble_search);
    somedouble_et.setText(doubleNumber.toString(), TextView.BufferType.EDITABLE);

我得到的错误是无法将TextView识别为类。我的xml中有错误吗?

<EditText android:layout_width = "fill_parent"
    android:layout_height = "fill_parent"
    android:id="@+id/somedouble"
    android:inputType="numberSigned"
    android:hint = ""
    android:text = "@+id/somedouble_search"/>

我使用的id似乎并不重要。

2 个答案:

答案 0 :(得分:1)

你的代码的第一行不应该是

final EditText somedouble_et = (EditText)findViewById(R.id.somedouble);

并且在xml中,android:text不应该是“@ + id”任何东西!

确保您已在代码顶部导入TextView。

答案 1 :(得分:0)

在您的XML文件中,android:id字段应如下所示:

android:id="@+id/somedouble_search"

文本字段应该是硬编码的(“mytext”)或引用字符串资源(@ string / mystringresource)。

<强>硬编码

android:text = "Hardcoded text"

引用strings.xml中的内容

android:text="@string/mystringresource"

以下代码在XML文件中搜索id为somedouble_search的EditText,但您的id定义为android:id =“@ + id / somedouble”

final EditText somedouble_et = (EditText)findViewById(R.id.somedouble_search);

记住

要引用XML中定义的任何对象,可以通过其在xml中定义的id引用它 - 而不是通过其text属性引用它。 text属性仅定义应显示的文本。

供参考,请参阅this链接。