Android - 在没有大量布局文件的情况下显示数据的最佳方式

Android - Best way to show data without large amount of layout files

感谢大家最近的帮助!另一个问题!

在我正在构建的应用程序中,我目前有一个带有可扩展 lstview 的布局文件,您可以在其中选择 10 个选项。当您选择其中一个选项时,您会选择另外 4 个选项。从选择一周开始,您还有 3 个选择。这 3 个选项中的每一个当前都会打开一个新的 activity,它有一个列表视图,每行都有一个复选框和文本视图,每行大约 10 行。

与其制作 30 个可能会使应用程序崩溃的布局文件(不确定需要多少个才能使应用程序崩溃),我认为必须有更好的方法。我查了一下,找不到我要找的东西。我已经阅读了一些有关 sqlite 的内容,但是您是否仍然需要单独的布局文件来调用表的不同部分?有没有办法制作一个带有列表视图的布局文件,并使用来自 sqlite 的不同数据填充列表视图,具体取决于点击来自可扩展列表视图中的位置?

例如,如果他们在可扩展列表视图中单击锻炼 29,然后单击第 1 周,然后单击第 1 天.. 单个布局可以从 sqlite 数据库加载数据吗?然后,如果他们返回并说点击锻炼 30,第 2 周,第 3 天,相同的布局从数据库加载不同的信息?

我也在尝试找出如何使双重可扩展列表视图静止不动

再次感谢!

所以这非常简单,您只需为列表视图创建一个 DataAdapter。然后您可以添加绑定到 onclick 侦听器的列表视图项,然后您可以清除该列表并向其添加新元素。一个有用的 link 会是。 https://guides.codepath.com/android/Using-an-ArrayAdapter-with-ListView

您应该为所有数据使用 SQLite 数据库(除非您计划将数据保存在内存中,如果数据量很大,这不是一个好主意)。您应该只创建一个简单的视图并继续重用它。您需要做的是创建您自己的适配器(从可扩展列表视图的 BaseExpandableListAdapter 和普通列表视图的 BaseAdapter 扩展),然后查询 SQLite 数据库 table 以获取您需要的数据。

如果你只是显示String项,你可以直接扩展ArrayAdapter,然后为普通列表提供你想要显示的项数组。

就崩溃而言,有许多应用程序拥有超过 30 个布局文件。此外,即使您确实开始加载大量视图,Android 也会在启动时自动开始销毁视图 运行 内存不足,并在需要时重新创建它们。