实现一些功能,比如在 Instagram android 应用程序中

Ali*_*lin 5 android android-gridview android-fragments android-fragmentactivity

我喜欢 Instagram for Android 应用程序上的两件事,我想在我的应用程序中实现它们。

1.碎片历史无限回溯

如果你点击一个用户,你可以看到他的详细信息,点击关注者将返回一个关注者列表,点击另一个用户将显示他的详细信息......等等。基本上,您可以多次执行此操作,但是当您返回时,一切都是即时的,无需加载。如何实施?我最初的想法是只有一个带有顶部操作栏的活动,其余使用片段(一个片段用于用户详细信息,一个片段用于用户列表)等等。问题是我想不出一个好办法让历史回到过去。我能看到的唯一方法是缓存所有数据(用户数据/列表适配器)是一个 ArrayList,因此当用户按回时,从列表中取出最后一项并实例化片段。有没有更好的方法呢?一世' 我想我可以为每个用户交互开始一个新的活动,当用户按下时,只需完成当前的活动。在这种情况下,我唯一担心的是内存不足。有没有办法用它们的状态缓存片段?

2.GridView里面的ScrollView

关于用户详细信息,有两种主要布局:包含用户详细信息的布局和图像的网格视图。当用户滚动时,在滚动结束时,gridview 获得一组新的项目(滚动时加载)。虽然我知道如何在为 gridview 滚动时实现加载,但我不知道如何在滚动视图中添加 gridview 并继续监听滚动事件

在此处输入图片说明

Lim*_*nal 0

还没有得到第二个问题的快速答案,但对于第一个问题,为什么不直接使用FragmentTransaction.addToBackStack将片段添加到后台堆栈呢?

这样,您就可以通过片段获得自然的反向动作,而无需为每个动作启动新的活动。