在Android Annotations中,我想知道@background何时完成

时间:2015-04-16 16:30:50

标签: android

在Android Annotations中,尝试使用@background和ProgressDialog执行API请求[登录]以通知用户正在进行登录。

@RestService
AuthInterface loginClient;

@Background
void login() {
    loggedUser = loginClient.login(new Login(getUsername(), getPassword()));
}

@UiThread
void showProgress() {
    progressDialog.show(this, "Loading", "please wait...", true);
}

@UiThread
void hideProgress() {
    progressDialog.dismiss();
}

1 个答案:

答案 0 :(得分:2)

在后台完成后调用使用@UIThread注释的方法。在您的情况下,您希望在@Background完成后执行此操作:

@UIThread
void hideProgress() {
    progressDialog.dismiss();
}

所以你的另一个方法 - void showProgress()不应该有@UIThread注释,应该在用户启动操作时调用,例如在某些onClickListener或类似的东西中。