2 o casper ne O_Casper_ne 于 2013.09.26 17:28 提问

位于文件夹res\xml\里的xml文件中的@strings不能运行

我使用下面的代码来获取一个 nameList。
我希望 nameList 的内容是 Inbox, Sent, Outbox 和 Draft。
但实际上 nameList 的内容是 @string/Inbox, @string/Sent, @string/Outbox 和@string/Draft。为什么啊?

private void InitVar(){
    ArrayList nameList=new ArrayList<String>();
    ArrayList valueList=new ArrayList<String>();
    ParXML(this, nameList, valueList);                              
}

public static void ParXML(Context context, List<String> nameList,List<String> valueList) {
    XmlResourceParser xrp = context.getResources().getXml(R.xml.msgfolder);
    try {
        while (xrp.getEventType() != XmlResourceParser.END_DOCUMENT) {
            if (xrp.getEventType() == XmlResourceParser.START_TAG) {
                String tagName = xrp.getName();
                if (tagName.equals("item")) {
                    nameList.add(xrp.getAttributeValue(null, "name"));
                    valueList.add(xrp.getAttributeValue(null, "value"));
                }
            }
            xrp.next();
        }
    } catch (XmlPullParserException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

Values\strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="Inbox">Inbox</string>
    <string name="Sent">Sent</string>
    <string name="Outbox">Outbox</string>
    <string name="Draft">Draft</string>   
</resources>

xml\msgfolder.xml

<?xml version="1.0" encoding="utf-8"?>
<MsgHandle>
   <item name="@string/Inbox" value="content://sms/inbox"></item>
   <item name="@string/Sent" value="content://sms/sent"></item>
   <item name="@string/Outbox" value="content://sms/outbox"></item>
   <item name="@string/Draft" value="content://sms/draft"></item>
</MsgHandle>
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!