2010-12-19 9 views
24

Ich aktualisierte meine ADT auf die neueste Version nach Gingerbread veröffentlicht wurde. Und jetztADT zeigt Fehler in Strings.xml

<string name="date_format">%d:%d %s</string> 

zeigt folgende Fehler

Multiple annotations found at this line: 
- error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" 
attribute? 
- error: Unexpected end tag string 

Zurück ADT Version hat gut funktioniert. Mache ich etwas falsch? Ich erhalte diesen Fehler, wenn mehr als 1 Formatbezeichner vorhanden sind.

+1

In meinem Fall habe ich falsch eingegeben, um die Formatierung param als 1% $ s, statt% 1 $ s. –

Antwort

37

Versuchen Sie, die folgende

<string name="date_format" formatted="false">%d:%d %s</string> 

Die ausführliche Beschreibung finden Sie in der Antwort auf diese Frage zu finden: Android XML Percent Symbol

+0

Ich weiß, dass dieser Thread tot ist, aber vielen Dank. Aus irgendeinem Grund haben viele SDK-Demos/Beispiele dieses Problem. – kmarks2

+0

Das sieht nach einem Workaround aus, daher denke ich, dass die Antwort von Hopia vorzuziehen ist - dass es so aussieht, als würde man mit dem Android Asset Packaging Tool richtig zusammenarbeiten. –

42

Oder alternativ können Sie Ihre% Formatbezeichner ändern Argument Indizes zu verwenden, wie so:

<string name="date_format">%1$d:%2$d %3$s</string> 

Mehr Infos auf der Formatter-Klasse im Android Reference Docs.

+0

Ich denke, das ist eine bessere Antwort als die angenommene Antwort. –

0

Ich sehe auch diese Fehler Ursache eines Tippfehlers: %$3s. Sollte %3$s sein.

Gerade für jemanden, der dumm ist wie ich :)

Verwandte Themen