メソッド内に parse メソッドを配置しましたonCreate
。しかし、私の問題は、Android Loading... ダイアログを表示する方法です??
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
parse sdk がバックグラウンドで独自のスレッドを呼び出し、findInBackground
実行が終了する前doInBackground
に Asyc スレッドを完了するため、使用することもできません。そのため、メインスレッドで呼び出しました。
その結果、ArrayList には常に結果が得られません。
誰か教えてください。