FragmentActivity,AsyncTaskLoader,ListFragment在重置/恢复时不加载/显示?

时间:2012-08-26 20:09:39

标签: android actionbarsherlock android-fragmentactivity asynctaskloader

替代标题:在清除后台内存后恢复时,不会绘制ListFragment内容。

can try这个和see the source here它是Google Demo应用的ActionBarSherlock演示应用版本。

当您打开ListFragment并转到其他(使用应用程序的高内存)时。 ActivityManager将终止进程“不再需要...”如果你通过长按Home键返回Activity,List会重新加载,但随后出现“No Applications”。

我找不到这种行为的原因,也许我是瞎了也许这是一个错误。我花了一些时间调试,在我看来应用程序是加载的,但然后有些东西阻止它们被显示。

Line 469中,我添加了一些调试消息。

        Log.d("onLoadFinished", data.get(0).getLabel());

在上述情况下正确记录标签,但显示“无应用程序”而不是列表。

有人可以向我解释,为什么会发生这种情况以及如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

问题似乎与第442行中的SearchViewCompat有关。

在后台发布内存时,恢复应用程序在带有过滤器onQueryTextChange的空适配器上触发null,当加载程序更新适配器时,项目仍然无法显示

一个秘密就是打电话

mAdapter.getFilter().filter(null);

mAdapter.setData(data);之后的onLoadFinished

这可能是兼容性框架中的错误,我没有测试本机实现。