6
나는이 내 자산에 저장된 다음 XML 구조/XML 폴더 :XmlPullParser getAttributeValue 반환 널
<?xml version="1.0" encoding="utf-8"?>
<homescreen>
<homeitem name="Name1"
subtext="Description1"
icon="iconresource1" />
<homeitem name="Name2"
subtext="Description2"
icon="iconresource2" />
<homeitem name="Name3"
subtext="Description3"
icon="iconresource3" />
</homescreen>
내가 XmlPullParser 사용하여 각 개별 homeitem
을 읽고 있어요 :
int event;
String TAG_ITEM = "homeitem";
while ((event = parser.next()) != XmlPullParser.END_DOCUMENT) {
if (event == XmlPullParser.START_TAG) {
String tag = parser.getName();
if (TAG_ITEM.equals(tag)) {
// Works - Logs "Name1"
Log.d(LOG_NAME, parser.getAttributeValue(0));
// Works - Logs "name"
Log.d(LOG_NAME, parser.getAttributeName(0));
// Works - Logs ""
Log.d(LOG_NAME, parser.getAttributeNamespace(0));
// Fails - Logs null
Log.d(LOG_NAME, parser.getAttributeValue(XmlPullParser.NO_NAMESPACE, "name"));
}
}
}
내 문제를 is : getAttributeValue(String, String)
을 사용하면 항상을 반환합니다. getAttributeValue(Integer)
을 사용하면 문제가 없습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
장치 : 넥서스 10, 증권 킷캣 4.4
이 작동합니다. 나는 이것이 단지'getAttributeNamespace'에 의해 반환 된 것과 같은 네임 스페이스를 원한다고 가정하고 있었다고 생각합니다. – CodingIntrigue
어쨌든이 매개 변수에 전달되는 것으로 간주되는 (또는 보이지 않는 것처럼) 것이 무엇입니까? –
작품을 START_TAG 대시로 사용하십시오. –