通过XML数据控制迭代

时间:2012-05-08 22:01:57

标签: android

下午好,

我有一个简单的应用程序(只是学习)从一个模拟文件中读取一些xml数据。 XML数据很好地组成了6个类别,我使用SAX解析器来读取它。我的应用程序基本上有两个按钮prev&下一个。因此,当应用程序加载时,我希望看到第一类xml数据。当用户按下下一个按钮......那么我想看到下一类数据等到最后。我的问题是如何来回查看数据?我是否将它全部加载到具有某种形式的排序的数据对象中并在对象中来回迭代,或者我将atty字段添加到父元素并只搜索xml以获取所请求的atty和子数据?我并不认为xml会变得非常大。只是尝试获得更有经验的输入,以便如何与gui同步数据。

TIA JB

1 个答案:

答案 0 :(得分:1)

有很多方法可以解决这个问题。通常是一个不错的路径就是将XML解析为一个数据结构,Adapter可以使用它创建视图结构并返回它们以便显示。这样可以很好地控制数据的外观,并且可以很容易地与许多不同的复杂View结构相结合。

您存储的数据结构也有很多可能性。哪种方法最有效取决于您的特定数据集。

鉴于我对您的数据的了解,ArrayList似乎是一种简单的方法。创建一个包含有关一个类别的所有数据的类。当您从XML文件中提取数据时,在解析器中创建该类的对象,每次进入新类别时都将对象添加到ArrayList。完成后,你应该有一个List结构,每个索引都有一个类别对象(包含所有数据)。

完成设置后,请使用您的列表ArrayAdapter。重写getView()方法以使View对象膨胀,并使用List中的数据填充它们。

然后,此适配器可以提供父视图(ViewPager,ViewSwitcher,ListView等...)这些父视图将使您可以轻松地迭代数据结构(即从一个类别切换到下一个类别,然后返回。)