我已經將解析方法放入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