日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Activity中加载器的总结

發(fā)布時間:2025/4/16 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Activity中加载器的总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

繼續(xù)總結加載器

加載器可以支持在Activity或片段中異步加載數(shù)據(jù),加載器具有以下特征:

可用于每個Activity和Fragment;

支持異步加載數(shù)據(jù);

監(jiān)控其數(shù)據(jù)源并在內(nèi)容變化時傳遞新結果;

在某一配置更改后重建加載器時,會自動重新連接上一個加載器的游標,故無需重新查詢其數(shù)據(jù)。

在應用中使用加載器:

使用加載器的應用通常包括:

*Activity或Fragment

*LoaderManager的實例

*一個CursorLoader,用于加載由ContentProvider支持的數(shù)據(jù),可以實現(xiàn)自己的Loader或AsyncTaskLoader子類,從其他源中加載數(shù)據(jù)

*一個LoaderManager.LoaderCallbacks實現(xiàn),可以使用它來創(chuàng)建新加載器,并管理對現(xiàn)有的加載器的引用。

*一個顯示加載器數(shù)據(jù)的方法,如SimpleCursorAdapter。

*使用CursorLoader時的數(shù)據(jù)源,如ContentProvider。

啟動加載器:

LoaderManager可在Activity或Fragment內(nèi)管理一個或多個Loader實例,每個Activity或片段中只有一個LoaderManager。為了初始化加載器以及實現(xiàn)一個Loader類(如CursorLoader),始終需要引入LoaderManager。

通常,在Activity的onCreate()方法或片段的onActivityCreated()方法內(nèi)初始化Loader。

getLoaderManager().initLoader(0,null,this);initLoader()方法采用以下參數(shù):

*用于標識加載項的唯一ID,此例中ID為0

*在構建時提供給加載器的可選參數(shù),此例中為null

*LoaderManager.LoaderCallbacks實現(xiàn),LoaderManager將調(diào)用此實現(xiàn)來報告加載器事件,此例中,本地實現(xiàn)LoaderManager.LoaderCallbacks接口,故它會傳遞對自身的引用this。

initLoader()調(diào)用確保加載器已初始化且處于活動狀態(tài),將可嫩有兩種結果:

*若ID指定的加載器已存在,則將重復使用上次創(chuàng)建的加載器。

*若ID指定的加載器不存在,則initLoader()將觸發(fā)LoaderManager.LoaderCallbacks方法onCreateLoader().

重啟加載器:

當使用initLoader()時,將使用含有指定ID的現(xiàn)有加載器,若沒有,則會創(chuàng)建一個,但有時,想舍棄這些舊數(shù)據(jù)并重新開始的話,調(diào)用restartLoader()。例如,當用戶查詢更改時,此SearchView.OnQueryTextListener實現(xiàn)將重啟加載器,以便它能夠使用修訂后的搜索過濾器執(zhí)行新查詢:

public boolean onQueryTextChanged(String newText) {mCurFilter = !TextUtils.isEmpty(newText) ? newText : null;getLoaderManager().restartLoader(0, null, this);return true; }
使用LoaderManager回調(diào):

LoaderManager.LoaderCallback是一個支持客戶端與LoaderManager交互的回調(diào)接口。

加載器(特別是CursorLoader)在停止運行后,仍需保持其數(shù)據(jù),這樣,應用即可保留Activity或片段的onStop()和onStart()方法中的數(shù)據(jù)。當用戶返回應用時,無需等待重新加載這些數(shù)據(jù),可以使用LoaderManager.LoaderCallback方法了解何時創(chuàng)建新加載器,并告知應用何時停止使用加載器的數(shù)據(jù)。LoaderManager.LoaderCallbacks包括以下方法:

onCreateLoader()---針對指定的ID進行實例化并返回新的Loader

onLoadFinished()---將在先前創(chuàng)建的加載器完成加載時調(diào)用

onLoaderReset()---將在先前創(chuàng)建的加載器重置且數(shù)據(jù)因此不可用時調(diào)用?




總結

以上是生活随笔為你收集整理的Activity中加载器的总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。