Android onStart如果点击按钮

时间:2017-10-11 14:18:04

标签: android onclicklistener

如果在我的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);
    }

1 个答案:

答案 0 :(得分: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);
    
    }