正确设计,以便为不同视图使用相同的数据

时间:2017-12-24 20:36:52

标签: android android-fragments caching android-viewpager android-gridview

我是企业界的新人。从设计的角度来看,如果我在这里做错了,请纠正我

我从Flickr API获取图片。

目标:以两种不同类型的视图,网格视图和列表视图显示这些图像。哪个可以通过幻灯片切换。

所以我使用的View分页器有两个片段,这两个片段都有不同的监听器。因此,当响应来自Flickr时,这两个听众都会收到通知。

在我看来,这节省了两次调用REST API,但我正在寻找更高效的设计或流程

  • 使用单个侦听器
  • 应该调用Rest API
  • 结果应该是存储(Just in ArrayList)并共享到两个视图
  • 可能不会选择两个单独的片段
  • 避免两次创建Adapter对象
  • 图片应存储在缓存中

任何调整或建议都会有所帮助,如果您不理解任何部分或整个问题,请发表评论。

1 个答案:

答案 0 :(得分:0)

对于上述问题,你正在思考的调整几乎是正确的。除了以下:

我认为您必须创建两个不同的适配器才能更好地控制不同的视图。例如,您可能希望在列表视图中使用缩放类型裁剪中心显示图像,但在网格视图中显示缩放类型中心内部的图像。您可能想要执行不同类型的事情。因此,制作两个不同的适配器是一个很好的做法,以使代码更易于管理。

对于片段也是如此,看看两个片段中的动作是否相同,或者可以通过单个变量传递来完成。然后只用一个片段。

其余的事情都很完美。