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 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题