我已经将解析方法放入onCreate
方法中。但我的问题是如何显示Android加载...对话框?Parse.com Android API和Android对话框
Parse.initialize(this, "a", "b");
ParseQuery query = new ParseQuery("Category");
query.findInBackground(new FindCallback() {
@Override
public void done(List<ParseObject> catObjects, ParseException arg1) {
Log.d("Catlength", String.valueOf(catObjects.size()));
for(int i =0; i<catObjects.size(); i++){
Log.d("lengthName"+String.valueOf(i), String.valueOf(catObjects.get(i).getInt("Id")));
Category category = new Category();
category.Name= catObjects.get(i).getString("CatName");
category.id= catObjects.get(i).getInt("Id");
categories.add(category);
}
if(categories.size()>0){
setListAdapter(new CategoryArrayAdapter(CategoryListActivity.this, R.layout.row_category, categories));
}
else{
Toast.makeText(CategoryListActivity.this, "Our servers are busy. Hit refresh..", 3000).show();
}
}
});
在上面的代码中一切正常,但我无法弄清楚如何显示对话框。
我无法使用AsycTask
也为解析SDK调用自己的线程在后台和findInBackground
执行完毕前,doInBackground
完成ASYC线程。这就是为什么我在主线程中调用它的原因。
因此,我总是得不到我的ArrayList结果。
有人请赐教。
我已经使用了类似的东西,但使用'AsycTask'。感谢您的答案:) – 2013-03-15 05:10:43
我试过这种方式,但我相信进度对话框正在使用UI线程,不是吗?我尝试过使用AsyncTask,但速度至少慢了4倍 – 2014-02-24 07:07:16
这使得下载速度非常慢...因为它在UI线程上运行,所以不是一个可行的解决方案 – Johnny 2015-01-09 22:19:26