Me gustaría obtener la forma correcta de analizar las etiquetas personalizadas de Android con un XmlResourceParser. Estoy usando Eclipse 3.6 con el complemento de Android, y me gustaría que algunos atributos como el name
se expandan con la cadena completa desde strings.xml
.El analizador XML personalizado de Android no resuelve el espacio de nombres de Android
Aquí está el index.xml
que se está analizando en la carpeta 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>
Aquí está el archivo strings.xml
en la carpeta res/values/
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="o_2sq">Organize two squares</string>
</resources>
y el fragmento de código que analiza la primera index.xml
con un XmlResourceParser:
String name = xpp.getAttributeValue(null, "android:name");
String shortName = xpp.getAttributeValue(null, "shortName");
La variable name
contiene null
, pero shortName
contiene "o_2sq"
. También probé el siguiente sin éxito:
String name = xpp.getAttributeValue("android", "name");
Cuál es la forma correcta de escribir la frase de manera que el nombre de la variable contendría "Organize two squares"
?
¿Querías decir 'else {name = s '}'? Parece que eso permitiría que ese atributo sea un recurso o una cadena codificada, ¿no? –
Necesitaba el nombre para no ser nulo en mi caso. Esta es la razón por. –