2012-04-05 2 views
2

Ich benutze Eclipse 3.7.2.Android String Resources Reference

Ich weiß nicht, warum, aber die letzte Zeile zu einem Fehler führt Highlightning

<string name="app_name">Test</string> 
<string name="title">@string/app_name</string> <!-- works //--> 
<string name="txt_text">Checkout @string/app_name this works</string> <!-- works //--> 
<string name="txt_recommend">@string/app_name is not working</string> <!-- error //--> 

ist es um eine Arbeit?

+1

versuchen, das Projekt zu reinigen. –

+0

show xml und code –

+0

Können Sie den Inhalt Ihrer app_name.xml-Datei einfügen. Das ist nicht klar, wir brauchen mehr Informationen, um Ihnen zu helfen. – Xarialon

Antwort

6

Ich glaube, Sie können Referenzen und Text in der XML nicht mischen. Verwenden Sie stattdessen Formatierungs-Platzhalter.

http://developer.android.com/guide/topics/resources/string-resource.html#FormattingAndStyling

Statt

<string name="app_name">Test</string> 
<string name="txt_recommend">@string/app_name is not working</string> 

dies wie

<string name="app_name">Test</string> 
<string name="txt_recommend">%s is not working</string> 

aussehen würde und in dem Code:

String text = String.format(res.getString(R.string.txt_recommend), res.getString(R.string.app_name)); 
+0

yeah das ist der normale Weg zu tun :) aber ich möchte nur die XML-Datei – Mario

+0

bearbeiten, aber ich kann kein Beispiel finden Verweis auf andere Ressourcen in XML jetzt - ich bezweifle, es ist möglich, aber kann jetzt nicht testen. Das ist wahrscheinlich, warum deine dritte Zeile jetzt auch nicht funktioniert. (Ich denke, man kann sich in diesem Fall nicht allein auf die Eclipse-Ausgabe verlassen) – mattanja

0

Der Fehler ist wahrscheinlich aus dem seco nd letzte Zeile und nicht die letzte Zeile.

<string name="txt_text">Checkout @string/app_name this works</string> 

In dieser Zeile scheinen Sie Text zu mischen („Kasse“ und „das funktioniert“) mit einer Referenz („@ String/app_name“)

Ich denke nicht, dass nur tun kann, in XML.

+0

Ja, es scheint so, Tanks für Ihre Antwort – Mario