actionbar的tab页不能正常切换的问题

来源:互联网 发布:数据持久性 编辑:程序博客网 时间:2024/05/16 17:53

本来这几天想更新一下关于图库Gallery的分析系列。今天工程遇到一个比较棘手的问题,正常情况下,actionbar对应的tab页在切换时,会切换到其对应tab的fragment中。

但是,在某种现在不很确定的情况下,不能正常切换。

这几天就把这个问题调查的过程慢慢写写吧。希望早点解决啊。

调查第一步,先弄清楚tab页和fragment切换的关系吧。

http://developer.android.com/reference/android/app/Fragment.html

因为这个问题的原因,从头复习了一下自己的程序。现在找到了一个疑点,感觉是那里出了问题。

主要原因是在加载fragment时,整体用了add,remove方法。但是,没有调用commit.

今天来公司试验了一下,简单地在add,remove方法后加commit,会报commit已经提交的异常。但是,直觉认为应该和fragment的调度有关系。今天还要处理另一个工程的功能,那就明天继续调查这些调度之间的关系吧。

休息了一段时间思路,重新调查这个问题。发现了另一个疑点,就是对于TabListener的各种事件,只是实现了其onTabSelected,和onTabUnselected中对fragment的添加和删除操作。而对于另一个事件onTabReselected中,没有做这种操作。先修改下这个吧。


注:最终问题原因查明了,属于系统运行占用资源很多时,并将tab页切换至后台。这样,垃圾回收机制就会对存放在后台的activity进行清理。以至于垃圾回收之后的activity状态,和它里面存放的fragment存放混乱造成的。

解决起来很复杂,主要就是更新了一下activity和fragment的状态。

原创粉丝点击