如何用 Parse.com API 修复 "Unchecked call to findInBackground"

How to fix "Unchecked call to findInBackground" with Parse.com API

我正在研究我从 iOS 移植的 Android 应用程序,并试图找出我收到的任何警告的原因,并使我的代码符合 Android Studio 的 lint。

到目前为止,大多数 "problems" 都非常容易修复,但我收到了一个关于特定 Parse.com API 函数的警告,这让我很困惑。

代码如下:

private void loadData() {
    ParseQuery query = ParseQuery.getQuery("someClass");
    query.include("someProperty1");
    query.include("someProperty2");
    query.include("someProperty3");
    query.orderByAscending("sequence");
    query.whereEqualTo("owner", ParseUser.getCurrentUser());

    // This next line causes the warning
    query.findInBackground(new FindCallback<ParseObject>() {
        @Override
        public void done(List<ParseObject> items, ParseException e) {
            if (e != null) {
                // Error handling here

            } else {
                // Got query results here

            }
        }
    });
}

出现的警告是:

Unchecked call to 'findInBackground(FindCallback < T >)' as a member of raw type 'com.parse.ParseQuery'.

当您允许为您自动完成 "fill out" 一个 new FindCallback 时,您会得到:

query.findInBackground(new FindCallback() {
    @Override
    public void done(List list, ParseException e) {

    }

    @Override
    public void done(Object o, Throwable throwable) {

    }
});

嗯,这很烦人,因为返回的实际结果是类型 ParseObjectList。因此,我将该代码编辑为上面的代码以简化我的代码。有趣的是,甚至自动完成代码 也有与之相关的相同警告。

我想我理解生成此警告的原因,但我已尽我所能尝试指定我的类型。我还能做些什么来让我的代码正常工作吗?或者更确切地说,鉴于我无法重写 Parse 的代码,我该如何 正确修复 这个警告?

您只需输入您的 ParseQuery:

ParseQuery query替换为ParseQuery<ParseObject> query