Я пытаюсь синхронизировать два блока кода для приложения Android.
Первый блок использует AsyncFacebookRunner для запроса интересов пользователя, если таковые имеются.
Если интересы были найдены, переменная-член для этого пользователя заполняется его интересами из Facebook JSON.response.
Второй блок кода проверяет, действительно ли у пользователя есть интересы, просматривая эту переменную-член.Если есть интересы, выполняется несколько дополнительных строк кода.
synchronized(this)
{
if ( (friend.getmActivities().length() == 0) && (friend.getmInterests().length() == 0) )
friend.requestInterests(mFacebook); // Get that friend's Facebook activities and interests.
}
synchronized(this)
{
if ( (friend.getmActivities().length() == 0) && (friend.getmInterests().length() == 0) )
{
final AlertDialog alertDialog = new AlertDialog.Builder(mContext).create();
alertDialog.setTitle("Sorry...");
alertDialog.setMessage("Your friend isn't sharing their interests.");
alertDialog.setButton("Go Back", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
alertDialog.dismiss();
}
});
alertDialog.show();
}
}
Я хочу, чтобы второй блок дождался завершения friend.requestInterests () перед выполнением.
EDITЯ закончил реструктуризацию своего кода, чтобы использовать метод onComplete бегуна.Все это произошло, когда я изменил структуру своей программы и должен был изменить все.Спасибо всем за помощь.