a63850553 2015-06-24 13:55 采纳率: 0%
浏览 1695
已结题

Android:如何实现详情页的状态保存?

场景是这样的:有一个列表页ActivityA,点击列表项会跳转到详情页ActivityB,这个ActivityB的内容是需要去服务端请求的,数据量大,而且结构复杂,即请求需要花费较多时间,数据解析和界面绘制也需要花费较多时间。现在想做一个效果是,点击列表项的某一项跳入ActivityB之后,假如点击返回,希望不销毁这个ActvityB,再在ActivityA中点击同一列表项时,直接打开原来的ActivityB,不需要请求和绘制。
这个场景可参考百度贴吧的贴吧和帖子功能,点击某个帖子返回后,再点击同一个帖子,是可以直接打开并且停留在上一次读取的位置的。
当然,上述场景,假如在ActivityA和ActivityB都是唯一的时候会很简单,只需要将两者都设置为singleInstance,ActivityB的关闭操作重写为startActivity ActivityA就行了,然后在ActivityB中通过item项的ID决定是否需要重新请求绘制,但问题是ActivityA和ActivityB是嵌套关系,即在ActivityB中点击某个按钮可能再打开一个不同内容的ActivityA,这样singleInstance就无法实现了。
另外一种想法是将ActivityB做成View的形式,放在ActivityA内,这样似乎可行,但总觉得不是最佳方案。

  • 写回答

4条回答

  • sbsujjbcy 2015-06-24 14:11
    关注

    为什么要不摧毁Activity呢,用缓存实现就可以了

    评论

报告相同问题?

悬赏问题

  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?