单击时列表视图

Posted

技术标签:

【中文标题】单击时列表视图【英文标题】:Listview On click 【发布时间】:2013-02-21 21:19:30 【问题描述】:

我正在开发一个新闻应用程序。

在主页上,我使用 JSON 从服务器获取新闻。

我将这个新的标题放在列表视图中的缩略图旁边。 新闻的正文(可能超过 15 行)不会出现在这里。

我希望它出现的地方是当用户单击 ListView 中特定行中的标题时,用户将进入一个新活动,其中显示更大的图像,以及标题和新闻文本.

我的问题如下。 - 哪种方法更好?

1 - 获取第一个列表视图中的所有数据,并将它们作为附加内容发送到第二页? (我担心的是 jsons 有时会变得太长)并在那里展示它们?

2 - 只需在第一个列表视图中获取标题,然后获取大文本(和图像)的另一个链接,然后当用户单击新闻时,打开另一个活动,然后重新发布/获取这次数据新链接。

欢迎提出其他建议。

【问题讨论】:

这取决于你有多少物品。 100? 1000? 100万?您希望您的应用在用户获取数据后离线工作吗? @gameower 我会在一个列表中说最多 100 个。不,如果用户获取数据,该应用程序将无法离线工作。但我知道获取所有内容后,它可以离线工作,但在这种情况下不是。 【参考方案1】:

我更喜欢第二种选择。因为用户可能对所有新闻都不感兴趣。实际上,用户只会阅读很少的新闻。说 4 或 5。如果您选择第二个选项,您将只获取这 4 或 5 个数据。您一次获取所有可用数据将消耗大量数据流量和时间来加载列表。

【讨论】:

Karthik Palanivelu,因此每个 json 都可以与它(其中一个数组列)有另一个链接,其中存在大数据。这是最好的方法吗?还是有其他方法? 我假设您将新闻存储在数据库中并使用 Http 请求拉取它。 http 响应将是一个 JSON 字符串。所以,我会选择一个唯一的 ID,比如附加到每个新闻的主键。因此,在启动列表活动时,应用程序将发出初始 HTTP 请求,服务器将响应具有唯一 ID、图像和标题的 JSON 数组。点击任意列表项,app会再次发起http请求,获取参数unique id,服务器会发送大文本和大图。 Karthik Palaniveli,是的,不错的方法。感谢您的见解。【参考方案2】:

如果你不希望你的应用离线工作,@Karthik Palanivelu 是对的,你应该只在用户想要阅读时才请求额外的数据。

如果您这样做,那么这实际上取决于您的列表中有多少项目以及您对数据流量的关心程度。如果您有 1000 个项目,15 行,假设每行 100 个字符。这大约是 1.5Mb。如果用户使用移动数据,可能会很多,但如果用户使用 Wifi,也可能会有点。我个人喜欢让用户选择始终离线浏览应用程序,所以在这种情况下,我会立即获取所有文本。 (或者至少是一些选项,可能是最新的 100 个左右。但这是我个人的看法)

请记住,这只是文本,您不应该获取所有大图像,否则会消耗很多。现在有很多人使用移动数据,所以您应该始终尽量将数据消耗保持在最低限度,同时为用户提供良好的体验。

【讨论】:

gameower,我同意你的看法。感谢您的小计算。你对照片有什么建议?我正在考虑只为每个小尺寸的新闻显示单个应用程序,比如 150x150 和移动/网络质量。 对于 100 个项目,我认为您不需要优化那么多。 150x150 似乎足够好,并且总是尝试使用 jpeg 而不是 png,因为它们更小。但同样,如果您的应用不需要离线工作,我相信 @Karthik Palanivelu 刚刚给了您最好的答案!

以上是关于单击时列表视图的主要内容,如果未能解决你的问题,请参考以下文章

如何从 postgresql 视图表中获取要显示的对象列表

无法将查询另存为视图表

如何在相对布局中添加固定标题和滚动视图表行?

Android ListView 更新颜色

文本文件字符串拆分然后将每个元素输出到视图表中

带有导航器的列表视图推送到不同的屏幕而不是单个屏幕