我每次使用loader都有這個問題。如果我開始我的AsyncTaskLoader
然後旋轉屏幕(不重要一次或多次)onLoaderFinished()
不會被調用。 loadInBackground()
完成其工作,但onLoaderFinished()
未被調用。它看起來像回調錯過,但在活動onCreate()
我:LoaderCallbacks旋轉後錯過
LoaderManager lm = getSupportLoaderManager();
if (lm.getLoader(LOADER_FLIGHTS) != null) {
lm.initLoader(LOADER_FLIGHTS, null, mFlightsLoaderCallbacks);
}
不要緊回調是由活動或現場實施。在我來說,我使用領域:
LoaderCallbacks<SearchResult> mFlightsLoaderCallbacks = new LoaderCallbacks<SearchResult>() {
有時工作不錯,但在一些設備中我又得到了這個麻煩。
我搜索了Android的錯誤跟蹤器,但沒有發現有用的東西。
這是我的錯,我該如何糾正它?
編輯:
private Handler mHandler = new Handler();
@Override
public void onLoadFinished(Loader<SearchResult> loader, SearchResult res) {
mHandler.post(new Runnable() {
@Override
public void run() {
dismissProgress(R.string.dlg_wait_flights);
}
});
mResult = res;
Helper.Log.d(TAG, "Loader.onLoadFinished.");
您的活動_is_處理程序,或有一個處理程序對象?你確定它沒有執行,或者你只是看不到結果? – 2013-03-04 15:41:21
@ClassStacker請看看更新的代碼 – rocknow 2013-03-04 15:55:26
關於你的編輯,這意味着你沒有看到日誌消息? – 2013-03-04 15:58:10