我正在检查我从 iOS 移植的 Android 应用程序,并试图找出我收到的任何警告的原因,并使我的代码符合 Android Studio 的 lint。
到目前为止,大多数“问题”都非常容易修复,但我收到了一个关于特定 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'.
当您允许自动完成为您“填写”一个 new FindCallback
时,您会得到:
query.findInBackground(new FindCallback() {
@Override
public void done(List list, ParseException e) {
}
@Override
public void done(Object o, Throwable throwable) {
}
});
嗯,这很烦人,因为返回的实际结果是 ParseObject
类型的 List
。因此,我将该代码编辑为上面的代码以简化我的代码。有趣的是,即使是自动完成代码 也有与之相关的相同警告。
我想我理解生成此警告的原因,但我已尽我所能尝试指定我的类型。我还能做些什么来让我的代码正常工作吗?或者更确切地说,鉴于我无法重写 Parse 的代码,我该如何正确修复此警告?
最佳答案
您只需输入您的 ParseQuery:
替换ParseQuery query
与 ParseQuery<ParseObject> query
关于android - 如何使用 Parse.com API 修复 "Unchecked call to findInBackground",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31612198/