如果在我的onStart()上单击一个按钮来检查点击的按钮是注册还是登录,如何设置if else语句?
这是我的代码
public void onClick(View v) {
switch (v.getId()) {
case R.id.register:
i = new Intent(this, RegisterCustomer.class);
startActivity(i);
finish();
break;
case R.id.login:
final String email = memail.getText().toString();
final String password = mpassword.getText().toString();
mAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(CustomerLoginActivty.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (!task.isSuccessful()) {
Toast.makeText(CustomerLoginActivty.this, "sign in error", Toast.LENGTH_SHORT).show();
}
}
});
break;
}
}
@Override
protected void onStart() {
super.onStart();
mAuth.addAuthStateListener(firebaseAuthListener);
}
答案 0 :(得分:0)
在onStart()中使用该字段检查id。
int clickedButton;
public void onClick(View v) {
clickedButton = v.getId();
switch (v.getId()) {
case R.id.register:
i = new Intent(this, RegisterCustomer.class);
startActivity(i);
finish();
break;
case R.id.login:
final String email = memail.getText().toString();
final String password = mpassword.getText().toString();
mAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(CustomerLoginActivty.this, new OnCompleteListener < AuthResult > () {@Override
public void onComplete(@NonNull Task < AuthResult > task) {
if (!task.isSuccessful()) {
Toast.makeText(CustomerLoginActivty.this, "sign in error", Toast.LENGTH_SHORT).show();
}
}
});
break;
}
}
@Override
protected void onStart() {
super.onStart();
if(clickedButton != null){
switch (clickedButton) {
case R.id.register:
//do your thing
case R.id.login:
//do your thing
}
}
mAuth.addAuthStateListener(firebaseAuthListener);
}