1 回答

TA貢獻1862條經驗 獲得超7個贊
如果我正確理解了這個問題 - 有一個競爭條件使得在任務SignupActivity執行完成之前觸發 toast Signup。所以:
signupButon.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if(validate()) {
try {
//new task every click
Signup newSignup = new Signup(signup);
//here start AsyncTask
newSignup.execute(name, email, password).get();
} catch (Exception e) {
Toast.makeText(ERROR);
}
}
}
});
雖然這些行:
// if sign up succes, == true;
if(signupValid) {
Toast.makeText(SUCCES);
finish();
} else {
Toast.makeText(ERROR);
}
應該是其中的一部分listener(現在看來這些行是在完成異步任務之前執行的)
為了澄清我自己:
@Override
public void onSignupPerformed(Boolean result)
{
if(result) {
Toast.makeText(SUCCES);
finish();
} else {
Toast.makeText(ERROR);
}
}
添加回答
舉報