1

我正在开发一个应用程序,其中有一个产品列表,有时是一个巨大的列表,而其他时候只有一两个项目。

我从本地数据库中读取了这些项目,对吧?好的,当我有大约 20 到 30 个项目时,我认为返回非常慢,渲染项目需要一两秒,我需要知道这方面的最佳实践。我测试了两种方法:

  • 更棘手的(我认为)是以编程方式创建视图并将其添加到滚动视图中作为内部线性布局的子项。
  • 最好的设计:在 xml 中有一个项目主题,并按每个项目膨胀一次。

有没有更好的办法?我确定是的!

我的项目有点复杂:图片、名称、类别、提供商、价格、一些带有“onclick”监听器的按钮、两个小图标。每个项目的一切。

加快这一进程对我来说非常重要。

4

3 回答 3

1

您可以使用 listview 并使用 attr :android:descendantFocusability=”blocksDescendants”</p>

它可以使您的项目小部件响应一些点击或触摸

于 2013-11-07T16:29:18.590 回答
1

我找到了答案。真的很酷。

于 2013-11-08T06:29:18.500 回答
1

我对你所描述的第一个想法是:

  • 为列表创建 xml 布局
  • 当您获得完整的项目列表时,将列表数据存储在某处
  • 将 5 个(或 10 个或任何合理数量的)列表布局到滚动视图中并使用数据填充它们
  • 使用侦听器检查用户何时滚动到滚动视图的底部......或中途向下或您选择的任何内容
  • 如果存在下一组项目,则对它们进行充气

这应该可以防止减速,如果您正确实施它,用户甚至不会知道它们没有全部加载。

我认为您需要实现一个滚动视图类型来执行此操作……搜索滚动视图侦听器。

这应该很简单。

于 2013-11-07T17:10:02.003 回答