I'm working on a game using AndEngine, and I need to show the users the list of his Facebook friends.
I've created my custom Adatper
for the ListView
and after the loading finishes everything works great.
I have a problem with the loading part it self.
The ListView
is inside a custom dialog, So inside this dialog, I'm running an AsyncTask
to fetch the friends' info, in that AsyncTask
I have a ProgressDialog
. The problem is, the ProgressDialog
shows up behind the dialog that contains the to-be list (which while loading, is just the title).
I can see the ProgressDialog
"peeking" behind that dialog..
Any Ideas?
Here's some code:
FriendsDialog.java
private ProgressDialog dialog;
//Constructor of the AsyncTask
public FriendsLoader(Context context) {
dialog = new ProgressDialog(context);
dialog.setMessage("Please wait..\nLoading Friends List.");
}
@Override
protected void onPreExecute() {
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
dialog.setView(inflater.inflate(R.layout.loading, null));
dialog.setMessage("Please wait..\nLoading friends.");
dialog.show();
}
@Override
protected void onPostExecute(ArrayList<HashMap<String, Object>> data) {
if (dialog.isShowing()) {
dialog.dismiss();
}
MyAdapter myAdapter = new MyAdapter(context, data);
listView = (ListView) findViewById(R.id.list);
listView.setAdapter(myAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> myAdapter, View myView, int myItemInt, long mylng) {
String id = (String) listView.getItemAtPosition(myItemInt);
listener.onUserSelected(id);
dismiss();
}
});
}