2017-10-11 4 views
0

Comment mettre une instruction if else si un bouton est cliqué sur mon onStart() pour vérifier si le bouton cliqué est enregistré ou connecté?Android onStart si le bouton est cliqué

Voici mon code

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

ce que vous voulez atteindre ?? –

+0

Pour essayer et mettre un sinon sur mon onStart() pour vérifier quel bouton est cliqué. c'est possible? – osoda

+1

'OnStart()' aurait déjà été appelé. Ne pouvez-vous pas mettre 'mAuth.addAuthStateListener (firebaseAuthListener);' dans votre 'onClick()'? – codeMagic

Répondre

0
  1. Créer un champ en classe. par exemple. int clickedButton;
  2. Dans onStart(), vérifiez l'ID à l'aide de ce champ.

    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); 
    
    }