java - 如何将 cursorLoader 转换为 Loader<Object>

标签 java android casting android-loadermanager

希望是我刚刚忘记或从未理解的简单 Java 问题。我一直在玩 Android 4.0 中的 Loaders。该程序按原样运行,但现在我正在寻找“下一个”部分。我想要一个标准的 Cursor 加载器和一个自定义的 AsyncTaskLoader。我在第 1 部分尝试将 cursorLoader 转换为 Loader 并将其返回。

@Override
    //public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    public Loader<Object> onCreateLoader(int id, Bundle args) {

        if (id == LISTVIEWLOADER) {
            String[] projection = { RunnerTable.COLUMN_ID,
                    RunnerTable.COLUMN_NAME };
            CursorLoader cursorLoader = new CursorLoader(getActivity(),
                    FanContentProvider.CONTENT_URI, projection, null, null,
                    null);


            return cursorLoader;   //HERE IS THE PROBLEM
        }
        return null;
    }

类型不匹配无法从 CursorLoader 转换为 Loader。

我相信可以让它工作

public class MainFragment extends ListFragment implements
        //LoaderManager.LoaderCallbacks<Cursor>
        LoaderManager.LoaderCallbacks

但不喜欢警告:

LoaderManager.LoaderCallbacks 是原始类型。对泛型 LoaderManager.LoaderCallbacks 的引用应该被参数化

感谢您提供的任何帮助。

最佳答案

尽管这是一个旧线程,但尚未得到完全答复。 tch0106 提到了这里的问题,但没有完整描述。

我刚刚遇到了同样的问题,并在导入部分解决了它。简单来说:一起使用支持的 Loader、CursorLoader 和 LoaderCallbacks。

在 android 本地库和支持库中都可以找到几个类。不要将支持库与非支持库版本混用。

// Use these together
import android.support.v4.content.CursorLoader;
import android.support.v4.app.LoaderManager.LoaderCallbacks;
import android.support.v4.content.Loader;
import android.support.v4.widget.SimpleCursorAdapter;

// Or use these, but don't mix and match
import android.content.CursorLoader;
import android.content.Loader;
import android.app.LoaderManager.LoaderCallbacks;
import android.widget.SimpleCursorAdapter;

关于java - 如何将 cursorLoader 转换为 Loader<Object>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13057865/

相关文章:

c - 如何在不放弃 const 的情况下实现 strstr()?

c++ - 从自定义类到内置类型的转换

java - 如何在 Java 中制作 20 行 x 50 列的网格

java - 使用 java 通过 .bat 运行 busybox

android - 同一 Android 复合组件的多个实例

android - 从 Twitter 到我的应用程序的深层链接 - 不工作

java - 为什么我的 BufferedImage 从 ImageIO.read() 接收到空值

java - 尝试洗牌时出现 IndexOutOfBoundsException

java - 如何在每个午夜运行的android上设置任务?

java - 如何摆脱 Android Studio 上的可疑调用警告?