gpt4 book ai didi

java - AsyncLoader - 不接受 'this'

转载 作者:行者123 更新时间:2023-11-29 04:41:52 24 4
gpt4 key购买 nike

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

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

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

我以前遇到过这个(见第一个链接)。我希望本教程能有所帮助,但我似乎在无休止地兜圈子!

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

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();
}
}

错误信息截图:

enter image description here

最佳答案

您的导入不匹配:

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()

关于java - AsyncLoader - 不接受 'this',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38881630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com