1
我填充DrawerListView以下方式:如何引用下載的文件來填充列表視圖
mDrawerListView.setAdapter(new ArrayAdapter<String>(
getActionBar().getThemedContext(),
android.R.layout.simple_list_item_activated_1,
android.R.id.text1,
getResources().getStringArray(R.array.dataElements)));
名單抽屜正確填充,並如預期顯示的數據。但是,我不想引用R.array.dataElements,而想引用我下載到ExternalStorageDirectory的文件(list.xml)。如何獲取此下載文件的資源ID,以便填充ListView?
- UPDATE -
我能用下面的代碼實現所需的結果。感謝您指點我正確的方向。
try {
myArray = new ArrayList<String>();
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/MyApp/list.xml");
InputStream instream = new FileInputStream(file.getPath());
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new InputSource(instream));
doc.getDocumentElement().normalize();
// Parse XML file and store in string
NodeList myNodeList = doc.getElementsByTagName("item");
for (int i = 0; i < myNodeList.getLength(); i++) {
Node myNode = myNodeList.item(i);
if(myNode.getNodeType() == Node.ELEMENT_NODE){
myArray.add(myNode.getTextContent());
}
}
} catch (Exception e) {
System.out.println("XML Pasing Excpetion = " + e);
}
感謝您的意見。該鏈接有很多好的代碼。但是,我似乎無法找到解析位於SD卡上的xml文件並將其放入字符串數組中的代碼示例。 – user881193
這裏是一個xml解析器文檔:http://developer.android.com/training/basics/network-ops/xml.html –
同一個人給出了關於xml解析的簡要介紹:http://www.vogella.com/文章/ AndroidXML/article.html。 –