2012-01-03 42 views
0

我在編輯文本中設置雙精度時遇到了問題,無法擺脫該錯誤。我究竟做錯了什麼?嘗試將編號設置爲EditText中的文本

以下是我有:

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。

回答

1

如果您的代碼的第一行不

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

,並在XML中,機器人:文字不應該是「@ + ID」什麼!

確保您已經在代碼的頂部導入了TextView。

+0

當我刪除此行時,仍然收到相同的錯誤:android:text =「@ + id/somedouble_search」 – Stagleton 2012-01-03 18:24:02

+1

從錯誤消息中思考一下,你是否已經在代碼的頂部導入了TextView?還要確保findViewById正在尋找與您在Edit XML中設置xml相同的id。 – 2012-01-03 18:33:08

+0

通常我習慣於「導入android.widget.TextView;」自動作爲選項,但直接寫入,基本上解決了我的問題。 – Stagleton 2012-01-03 18:49:07

0

在XML文件中,在android:id字段應該如下:

android:id="@+id/somedouble_search" 

的文本字段應該要麼被硬編碼( 「mytext的」),或者是指一個字符串資源(@字符串/ mystringresource) 。

硬編碼

android:text = "Hardcoded text" 

引用來自strings.xml中

android:text="@string/mystringresource" 

下面這段代碼與somedouble_search的ID在XML文件中搜索一個EditText,但事你的id被定義爲android:id =「@ + id/somedouble」

不是它的文本屬性 -

記住

要引用一個XML定義的任何對象,您可以通過在XML中定義它的id引用它。文本屬性只定義了應顯示的文本。

僅供參考,請參閱this鏈接。

+0

因此,如果我想這樣初步設置從我的java類中的數字文本,我會不包括android:文本字段? – Stagleton 2012-01-03 18:30:38

+0

不包含在xml中嗎?如果它沒有價值,我認爲你可以放棄它。 – Jack 2012-01-03 19:56:56