我创建了一个Java应用程序,它打开一个看起来像这样的xml文件:
<AnimalTree>
<animal>
<mammal>canine</mammal>
<color>blue</color>
</animal>
<!-- ... -->
</AnimalTree>
Run Code Online (Sandbox Code Playgroud)
我可以用以下方式打开它:
File fXmlFile = getResources.getXml("res/xml/data.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
NodeList animalNodes = doc.getElementsByTagName("animal");
Run Code Online (Sandbox Code Playgroud)
然后我可以简单地创建一个节点,将对象推送到ListArray中,然后在循环ListArray时执行我想要的对象.
for (int temp = 0; temp < animalNodes.getLength(); temp++) {
Node nNode = animalNodes.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
question thisAnimal = new animal();
thisAnimal.mammal = getTagValue("mammal",eElement);
// ...
Run Code Online (Sandbox Code Playgroud)
干净利落!现在只在Android中我不能简单地读取文件" res/xml/data.xml",因为" File();"需要一个String不是integer(id).这是我迷失的地方.有没有办法可以" File();"打开文件,或者如果不使用SAXparser或者这是不可能的 …
:)我的RadioGroup的RadioButtons从一个ArrayList(位于我的主要活动中)动态创建,充满了如下所示的链接:
ArrayList = {"hxxp://helloworld.com","hxxp://helloworld2.net",...,"hxxp://whatever.com"}
然后我有一个名为"links"的新类,它从我的主要活动中的菜单按钮调用,它设置了一个漂亮的布局,每个链接(在滚动视图中)和一个"go!"中有一个radiobubtton.页面底部的按钮(相对布局).
这一切都很有效,除了一件事.如果您使用后退按钮退出应用程序,并通过单击Android菜单中的图标返回应用程序,您将进入主活动,然后单击菜单中的"链接"按钮,每次都会加倍.??? 像这样:
链接0
链接1
链接2
链接0(再次)
链接1(再次)
链接2(再次)
这将链接添加到每次从离开时返回"链接"活动的底部.有没有什么方法可以调用方法来清除链接活动中最后一个会话生成的所有单选按钮,然后再将它们放入RadioGroup?我试图改变我onPause()对finish();我试图释放与高速缓存RadioGroup.destroyDrawingCache();似乎没有这样做.
android ×2
dynamic ×1
file ×1
local ×1
persist ×1
radio-button ×1
radio-group ×1
saxparser ×1
xml ×1