在同一活动中实现两个AsyncTaskLoader

时间:2018-07-12 22:25:05

标签: android android-studio android-asynctask loader asynctaskloader

我是新手,试图在Android中的同一活动上执行2个url查询。 我设法使用两个并行运行的不同AsyncTask来完成它。

两个url查询都有单独的类和查询类-两个不同的网站具有不同的数据。但是我想在一个屏幕上显示它-一个活动。

我用单独的loaderID启动了两个Loader

private static final int LOCAL_LOADER_ID = 1;
private static final int GLOBAL_LOADER_ID = 2;

然后我启动了这两个装载机。 。 。 。

LoaderManager loaderManager = getLoaderManager();
loaderManager.initLoader(LOCAL_LOADER_ID, null, new LocalLoaderClass());
loaderManager.initLoader(GLOBAL_LOADER_ID, null, new GlobalLoaderClass());

并为它们两个创建了LoaderCallbacks,所以这是第一个示例,第二个相同:

private class GlobalLoaderClass implements 
LoaderManager.LoaderCallbacks<GlobalData>

{

@Override
public Loader<GlobalData> onCreateLoader(int i, Bundle bundle) {

return new GlobalDataLoader(this, CMC_REQUEST_URL);
    }

等等。 。 。 。 。 。其余的Override方法

但是,我在方法上始终遇到错误,我认为我缺少了一些东西。 我已经实现了GlobalDataClass(Context,URL)

0 个答案:

没有答案