gpt4 book ai didi

java - LoaderManager 不接受 'this'

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:40:43 25 4
gpt4 key购买 nike

好吧,我投降。我想不通。

我正在学习 Udacity 的 Android 基础类(class),需要弄清楚如何使用加载程序加载数据。但是,当我使用以下行时,“this”以红色突出显示并显示以下错误:

Wrong 3rd argument type. Found 'com.example.carl.latestnews.MainActivity', required: 'android.app.LoaderManager.LoaderCallbacks<java.lang.Object>

我用谷歌搜索、堆叠并尝试了我找到的建议。我已经尝试创建一个实现回调的内部类。我碰壁了,我坐在这里挠头试图弄清楚我错过了什么!

谁能告诉我我做错了什么?

提前致谢!

package com.example.carl.latestnews;


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;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ListView;
import android.widget.TextView;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity implements LoaderManager.LoaderCallbacks<ArrayList<ArticleObject>> {

// ArticleObject is a custom object which contains a headline, date, category etc of a news article

// URL for Guardian API including API Key
final static String GUARDIAN_API_URL = "https://content.guardianapis.com/search?";

// API Key
final static String GUARDIAN_API_KEY = "test";

// ID for LoaderManager
final static int LOADER_MANAGER_ID = 0;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Get or initialize loader manager
getLoaderManager().initLoader(LOADER_MANAGER_ID, null, this);

}

@Override
public Loader<ArrayList<ArticleObject>> onCreateLoader(int id, Bundle args) {
return new dataLoader(); // dataLoader() removed for easy reading
}

@Override
public void onLoadFinished(Loader<ArrayList<ArticleObject>> loader, ArrayList<ArticleObject> data) {
/ UI Update Code
}

@Override
public void onLoaderReset(Loader<ArrayList<ArticleObject>> loader) {
// Reset Code
}




}

最佳答案

更改: getLoaderManager()getSupportLoaderManager();
像这样:
getLoaderManager().initLoader(ID_FAVORITE_METAINFO_LOADER, args, this);

getSupportLoaderManager().initLoader(ID_FAVORITE_METAINFO_LOADER, args, this);

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

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