我有
String idAttr = xmlParser.getAttributeValue(null,"id");
在xml文件夹的url.xml中, enter image description here
当我使用Android Studio 2.2和buildTool 22.0.0时,执行
idAttr
"@+id/api_msg_list"
为final XmlResourceParser xmlParser = context.getResources().getXml(R.xml.url);
int eventCode;
try {
eventCode = xmlParser.getEventType();
while (eventCode != XmlPullParser.END_DOCUMENT) {
switch (eventCode) {
case XmlPullParser.START_DOCUMENT:
break;
case XmlPullParser.START_TAG:
if ("UrlConfig".equals(xmlParser.getName())) {
...
} else if ("Node".equals(xmlParser.getName())) {
String idAttr = xmlParser.getAttributeValue(null,"id");
if (idAttr.startsWith("@+id/")){
...
}
...
}
break;
case XmlPullParser.END_TAG:
break;
default:
break;
}
eventCode = xmlParser.next();
}
}
。
idAttr
但是我今天早上将Android Studio更新为3.0并将buildTool更新为26.0.2后,
"@123456.."
转向if
,因此无法再进入"@+id/api_msg_list"
。
我的问题是我怎样才能获得像"@123456..."
这样的id的纯String值,而不是像public class Application {
private String mId;
....
}
intent.putExtra("id", myApplication.getId());
那样自动变成R文件的int值,非常感谢。