Vorrei ottenere il modo corretto di analizzare i tag Android personalizzati con un XmlResourceParser. Sto usando Eclipse 3.6 con il plug-in Android, e vorrei che alcuni attributi come lo name
fossero espansi con la stringa completa da strings.xml
.Il parser XML personalizzato Android non riesce a risolvere lo spazio dei nomi di Android
Questo è il numero index.xml
che viene analizzato nella cartella res/xml/
.
<?xml version="1.0" encoding="utf-8"?>
<Index xmlns:android="http://schemas.android.com/apk/res/android">
<Sheet
shortName="o_2sq"
android:name="@string/o_2sq"
instructions=""
/>
</Index>
Ecco il file strings.xml
nella res/values/
cartella
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="o_2sq">Organize two squares</string>
</resources>
e il frammento di codice che analizza il primo index.xml
con una XmlResourceParser:
String name = xpp.getAttributeValue(null, "android:name");
String shortName = xpp.getAttributeValue(null, "shortName");
La variabile name
contiene null
, ma shortName
contiene "o_2sq"
. Ho anche provato il seguente senza successo:
String name = xpp.getAttributeValue("android", "name");
Qual è il modo corretto di scrivere la frase in modo che il nome della variabile conterrebbe "Organize two squares"
?
Intendevi 'else {name = s '}'? Sembra che permetterebbe che quell'attributo sia una risorsa o una stringa hard-coded, no? –
Avevo bisogno del nome per non essere nullo nel mio caso. Ecco perché. –