首页 > 从一个列表跳进详情,返回刷新有没有更高端的做法?

从一个列表跳进详情,返回刷新有没有更高端的做法?

逻辑如下:
在一个列表中,点击某个item,跳进这个item里的详情,在详情里可以点赞,点赞刷新为已赞状态,当返回到列表中的时候,点赞需要刷新为已赞状态,当再次进入这个列表的时候,点赞也是显示已赞状态的。
已经知道的思路:

不知道还有没有更高级的思路,最近比较火的RXjava能做到这个吗?eventbus呢?


这显然是典型的Android MVC应用嘛。你应该维护一个模型层的数据类(比如使用单例),这样列表视图(一个activity)和详情视图(另一个activity)都可以引用到数据。
因为数据是独立的,所以你不需要『将列表的arraylist的引用传入详情』。

点击列表界面的某个item进入详情界面后,详情界面只需根据index(或者能惟一标识列表项的,比如uuid,url等)就可以从模型层中取出需要的数据;当详情界面的视图改变时,也可以修改模型层数据(也就是你的点赞与否的状态)。

然后从详情界面返回到列表界面,onResume() 生命周期方法一定会被调用到,只需要调用 ArrayAdapter.notifyDataSetChanged() 就可以刷新列表视图了。

这不是什么『更高级的思路』,也不需要使用复杂的机制。


你说的两种方法都比较LOW,而且实现起来也不简单。

较好一点的方法是内部更新后发送修改广播,外部列表监听修改广播进行数据更新。(原生实现方法)
当然,发布广播和接收的这种机制也能通过EventBus或者RxJava来,可以根据实际需要进行选择。


用广播机制或者otto来做吧

【热门文章】
【热门文章】