AsyncLoader - 不接受 'this'

AsyncLoader - wont accept 'this'

这是对我提出的问题的跟进

我从 this tutorial 复制并粘贴了这段代码。当我将其粘贴到 Android Studio 时,content.getLoadManager.initLoader() 的 'this' 参数以红色突出显示并显示以下错误:

第三个参数类型错误。找到 'com.example.carl.loaderDemo.FooLoaderClient',需要:'android.app.LoaderManager.LoaderCallBacks

我之前已经 运行 了解过这个(先看 link)。我希望本教程能有所帮助,但我似乎在无休止地兜圈子!

谁能给我指出正确的方向?!

package com.example.carl.loaderdemo;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.AsyncTaskLoader;
import android.support.v4.content.Loader;

public class FooLoader extends AsyncTaskLoader {
    public FooLoader(Context context, Bundle args) {
        super(context);
        // do some initializations here
    }
    public String loadInBackground() {
        String result = "";
        // ...
        // do long running tasks here
        // ...
        return result;
    }
}

class FooLoaderClient implements LoaderManager.LoaderCallbacks {
    Activity context;
    // to be used for support library:
    // FragmentActivity context2;
    public Loader onCreateLoader(int id, Bundle args) {
        // init loader depending on id
        return new FooLoader(context, args);
    }

    @Override
    public void onLoadFinished(Loader loader, Object data) {

    }

    public void onLoaderReset(Loader loader) {
        // ...
    }
    public void useLoader() {
        Bundle args = new Bundle();
        // ...
        // fill in args
        // ...
        Loader loader =
                context.getLoaderManager().initLoader(0, args, this);
        // with support library:
        // Loader loader =
        //    context2.getSupportLoaderManager().initLoader(0, args, this);
        // call forceLoad() to start processing
        loader.forceLoad();
    }
}

错误信息截图:

您正在实施 android.support.v4.app.LoaderManager.LoaderCallbacks,但客户期望 android.app.LoaderManager.LoaderCallbacks。您需要在使用的加载器 API 中保持一致。

您的导入不匹配:

import android.support.v4.app.LoaderManager;
import android.support.v4.content.AsyncTaskLoader;
import android.support.v4.content.Loader;

但是你需要

import android.app.LoaderManager;
import android.content.AsyncTaskLoader;
import android.content.Loader;

您不能将支持库与 android 框架混合使用。或者,您可以继承 FragmentActivity 并改为调用 getSupportLoaderManager()