我正在尝试从parse.com获取特定对象的值列表,但是我似乎正在努力解决一个不断出现在我的屏幕上的错误,这似乎不对,除非它与我可能错过的其他一些问题有关。我已将我的aF变量初始化为List aF;因为你在这堂课中看不到它。我得到的错误是在aF = query.find()上,它表示未处理的异常,
protected Void doInBackground(Void... params) {
// Locate the class table named "UploadedFiles" in Parse.com
ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("UploadedFiles");
query.orderByDescending("_created_at");
try {
Toast.makeText(getActivity(), "Success",
Toast.LENGTH_LONG).show();
aF = query.find();
} catch (ParseException e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return null;
}
我还试图实现一个if语句异常规则,但它也给了我错误,其中我认为我不应该使用它,因为我不能用这种情况实现return语句。
public void done(ParseException e) {
if (e == null) {
aF = query.find()
Toast.makeText(getActivity(), "Success",
Toast.LENGTH_LONG).show();
} else {
Log.d("Error", e.toString());
}
}
});
编辑
protected Void doInBackground(Void... params) {
// Locate the class table named "UploadedFiles" in Parse.com
ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("UploadedFiles");
query.orderByDescending("_created_at");
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> objects, com.parse.ParseException e) {
try {
aF = query.find();
} catch (ParseException e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
}
});
return null;
}
感谢您的所有答案,我现在收到一条新错误,说明从内部类中访问变量查询,需要声明为final。这是否意味着我必须将其设置为return语句?
答案 0 :(得分:1)
你这样使用。
使用回调FindCallback
从中检索满足此查询的
ParseObjects
列表 来自后台线程。
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> arg0, ParseException arg1) {
// TODO Auto-generated method stub
}
});