0

替代標題:在清除後臺內存後恢復時,ListFragment內容不會被繪製。FragmentActivity,AsyncTaskLoader,ListFragment不會加載/顯示在重置/恢復?

can try this和see the source here它是Google Demo應用程序的ActionBarSherlock演示應用程序版本。

當您打開ListFragment並轉到其他(使用應用程序的高內存)。 ActivityManager將終止「不再需要......」的過程如果通過長按Home按鈕回到活動狀態,List將重新加載,但會出現「No Applications」。

我找不到這種行爲的任何原因,也許我是盲目的,也許這是一個錯誤。我花了一些時間調試,在我看來應用程序是負載,但然後阻止它們顯示。

Line 469我添加了一些調試消息。

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

標籤在上述情況下被正確記錄,但出現「No Applications」而不是列表。

有人可以向我解釋,爲什麼發生這種情況,以及如何解決它?

回答

2

這個問題似乎是當其內存在後臺被釋放到線442

恢復應用程序進行相關的SearchViewCompat與過濾null一個空的適配器,當裝載機然後更新上觸發onQueryTextChange適配器,項目仍然不顯示。

一個workound將是onLoadFinished調用

mAdapter.getFilter().filter(null); 

mAdapter.setData(data);後。

這可能是一個兼容性框架中的錯誤,我沒有測試本地實現。

+0

是的它看起來像是在創建框之前註冊了onQueryTextChange,所以android創建的框爲它設置一個空文本並觸發該方法 - >奇怪! – seb

相關問題