Android 在expandablelistview中显示res/raw/data.xml
我试图在res/raw/data.xml中创建expandableListView数据,但我不知道如何连接它。在此之前,我使用的是来自以下活动的直接数据:Android 在expandablelistview中显示res/raw/data.xml,android,xml,Android,Xml,我试图在res/raw/data.xml中创建expandableListView数据,但我不知道如何连接它。在此之前,我使用的是来自以下活动的直接数据: private void prepareListData() { listDataHeader = new ArrayList<String>(); listDataChild = new HashMap<String, List<String>>(); /
private void prepareListData() {
listDataHeader = new ArrayList<String>();
listDataChild = new HashMap<String, List<String>>();
// Adding child data
listDataHeader.add("Basic");
listDataHeader.add("Data Types");
// Adding child data
List<String> top250 = new ArrayList<String>();
top250.add("Introduction");
top250.add("Data Types");
top250.add("Schema");
top250.add("Use in Ajax");
top250.add("Examples");
List<String> nowShowing = new ArrayList<String>();
nowShowing.add("Overview");
nowShowing.add("Array");
nowShowing.add("Boolean");
nowShowing.add("Object");
nowShowing.add("Number");
nowShowing.add("String");
nowShowing.add("False");
nowShowing.add("True");
nowShowing.add("Null");
listDataChild.put(listDataHeader.get(0), top250); // Header, Child data
listDataChild.put(listDataHeader.get(1), nowShowing);
}
}
有人能帮我吗?目前,您正在listDataHeader和listDataChild中静态添加数据。要从xml文件中填充ArrayList和HashMap中的数据,请将prepareListData方法更改为: 一,。将data.xml文件移动到assets目录而不是res目录中 二,。使用AssetManager从资产中将文件作为InputStream读取: 三,。使用SAX或DOM解析器解析xml,以获取ArrayList和HashMap中的所有节点数据。有关使用SAXParser的pasring xml,请参阅以下教程:
@markshadow:您可以在资源中放置多个文件
<?xml version="1.0" encoding="UTF-8"?>
<entries>
<section name="Basics">
<entry id="1">
<name>Introduction</name>
<htmlfilename>basics_intro</htmlfilename>
</entry>
<entry id="2">
<name>Data Types</name>
<htmlfilename>basics_datatypes</htmlfilename>
</entry>
<entry id="3">
<name>Schema</name>
<htmlfilename>basics_schema</htmlfilename>
</entry>
<entry id="3">
<name>Use in Ajax</name>
<htmlfilename>basics_ajaxuse</htmlfilename>
</entry>
<entry id="4">
<name>Cheat Sheet</name>
<htmlfilename>basics_cheatsheet</htmlfilename>
</entry>
<entry id="4">
<name>Examples</name>
<htmlfilename>basics_examples</htmlfilename>
</entry>
</section>
<section name="Data Types">
<entry id="5">
<name>Overview</name>
<htmlfilename>datatypes_overview</htmlfilename>
</entry>
<entry id="6">
<name>Array</name>
<htmlfilename>datatypes_array</htmlfilename>
</entry>
<entry id="7">
<name>Boolean</name>
<htmlfilename>datatypes_boolean</htmlfilename>
</entry>
<entry id="8">
<name>Object</name>
<htmlfilename>datatypes_object</htmlfilename>
</entry>
<entry id="9">
<name>Number</name>
<htmlfilename>datatypes_number</htmlfilename>
</entry>
<entry id="10">
<name>String</name>
<htmlfilename>datatypes_string</htmlfilename>
</entry>
<entry id="11">
<name>true</name>
<htmlfilename>datatypes_true</htmlfilename>
</entry>
<entry id="11">
<name>false</name>
<htmlfilename>datatypes_false</htmlfilename>
</entry>
<entry id="11">
<name>null</name>
<htmlfilename>datatypes_null</htmlfilename>
</entry>
</section>
</entries>
AssetManager assetManager = YourAcivityClassName.this.getAssets();
InputStream inputStream = assetManager.open("data.xml");