0

下午好,

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

TIA JB

4

1 回答 1

1

有很多方法可以解决它。通常一个不错的路径是将 XML 解析为数据结构,适配器可以使用该数据结构来创建视图结构并返回它们以便显示。这将使您能够很好地控制数据的外观,并允许您非常轻松地与许多不同的复杂视图结构联系起来。

您存储它的数据结构也有很多可能性。哪些效果最好通常取决于您的特定数据集。

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

一旦你完成了这个设置,就让你自己成为一个带有 List的ArrayAdapter 。覆盖 getView() 方法以扩充您的视图对象并使用列表中的数据填充它们。

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

于 2012-05-08T23:19:56.657 回答