2014-04-10 65 views
0

我閒逛在strings.xml中,和我添加了一個字符串:「itemTag」:爲什麼在string.xml中添加字符串不會在R.java中顯示?

<string name="itemTag">1</string> 

當我試圖訪問通過R.string.itemTag活動字符串,它彈出一個錯誤:

itemTag cannot be resolved or is not a field 

我看着R.java文件,找不到字符串。當我在string.xml中添加字符串時,是否存在沒有添加到文件中的原因,以及如何解決此問題?

對不起,如果這是重複的,我在Google上找不到任何東西。

的strings.xml:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string name="itemTag">1</string> 
</resources> 

編輯:

我不知道如果多數觀衆的理解,在所有ID和字符串位於R.java(我假設),我找不到itemTag。它根本就不在那裏。我假設一旦我在string.xml中創建了一個字符串,該字符串也會自動彈出R.java,但似乎並不是這種情況。

+1

嘗試清理項目(項目>清潔>選擇您的項目) – Fllo

+0

試過了,它刪除R.java並沒有重建自己。 – Piofmc

+0

您是否在xml中的該行上發生錯誤?或在任何其他的XML? – codeMagic

回答

1

使用getString方法:

String itemTagStr = getString(R.string.itemTag); 
+0

同樣的錯誤,因爲它找不到「itemTag」,因爲它在R.java中沒有說明我相信 – Piofmc

+0

如果你臨時註釋掉getString()行然後清理並保存以允許成功構建,會發生什麼。字符串資源會顯示出來嗎? – RichS

+0

即使我註釋掉getString()行,清理也會刪除R.java文件,但不會將其重新生成。 – Piofmc

0

您將需要清洗,以及構建項目。在構建期間,應該重新生成R.java,並且應該顯示您的更改。

+0

我做了清理和重建項目,但R.java沒有重新生成 – Piofmc

+0

你也可以發佈你如何建設嗎?有時候,當你在其他編輯器中編輯XML文件時,eclipse不會從文件中獲取更改,而需要刷新項目。可能還有其他類似的原因。你能發佈一些關於你如何編輯和構建的信息嗎? –

+0

我沒有使用任何其他編輯器,並且我使用eclipse和該xml文件編輯了strings.xml。當我進入一個活動並鍵入R.string,然後Crtl +空間(顯示可能的字符串)時,除了this和class,什麼都沒有顯示出來。 – Piofmc

1

確保您的string.xml位於res> values> string.xml中。否則清理您的項目並重新打開您正在使用的IDE。它會工作。

+0

做了這一切,它沒有奏效。清理後的項目R.java沒有再生。 – Piofmc

+0

你在哪裏使用這個字符串的值?你能顯示代碼嗎? –

0

確保android.R未導入到您的項目中。刪除此導入並導入您的實際R文件中。

Eclipse在創建新的Android項目時傾向於自動導入android.R

0

刪除您的R.java文件。 轉到Activity_main.xml併爲API 17構建它,即Android 4.2.2。 現在做一個「乾淨」的,看看你的R.java會再生,你會發現你新添加的字符串的文件中

相關問題