我想拉出所有已在活動中分配了id的TextView,以便用動態值填充它們。爲了這樣做,我使用XMLResourceParser
來檢查標籤並獲取標識。下面的代碼:xml資源解析器無法識別id屬性
public int[] getElementIds(int layoutId, String viewType)
throws XmlPullParserException, IOException{
XmlResourceParser parser = activity.getResources().getLayout(layoutId);
LinkedList<Integer> idList = new LinkedList<Integer>();
while(parser.getEventType()!=XmlResourceParser.END_DOCUMENT){
parser.next();
if(parser.getEventType()==XmlResourceParser.START_TAG){
if(parser.getName().equals(viewType)){
idList.add(parser.getIdAttributeResourceValue(0)); //here's the problem
}
}
}
// returns an int[] from values collected
}
與註釋的行只是給我回零,我指定的默認值。然而,下面的代碼工作,屬性索引通過反覆試驗得出:
idList.add(parser.getAttributeResourceValue(0, 1)); // the zero here is 'id' attribute index
任何想法?
你有問題數,? – TmTron
我現在甚至找不到問題記者。但我可以在[github](https://github.com/jegesh/Android-simple-XML-Parser)上指出我的解決方法! – ygesher
也許[#36997052](https://issuetracker.google.com/issues/36997052)? – TmTron