2017-10-11 7 views
0

クリックしたボタンが登録またはログインしているかどうかを確認するためにonStart()でボタンをクリックすると、if elseステートメントをどのように置くことができますか?ボタンがクリックされた場合は、Android onStart

は、ここに私のコード

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()にif elseを入れて、どのボタンがクリックされているかを確認します。出来ますか? – osoda

+1

'onStart()'はすでに呼び出されています。 'onClick()'に 'mAuth.addAuthStateListener(firebaseAuthListener);'を入れられませんか? – codeMagic

答えて

0
  1. クラス内のフィールドを作成しています。例えばint clickedButton;
  2. 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); 
    
    } 
    
関連する問題