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);
}
}
添加回答
举报