提问者:小点点

错误:MainActivity不是抽象的,并且不会覆盖OnClickListener中的抽象方法onClick(View)


我需要帮助解决一个问题。这可能是一个简单的问题,但我不知道该怎么办!
我的错误:

错误:MainActivity不是抽象的,不会覆盖OnClickListener中的抽象方法onClick(View)

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    Button btRegister;
    ImageView circle1;
    TextView tvLogin;
    Button login;
    EditText mEmail,mPassword;
    FirebaseAuth fAuth;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btRegister = findViewById(R.id.btRegister);
        tvLogin = findViewById(R.id.tvLogin);
        circle1 = findViewById(R.id.circle1);
        login = findViewById(R.id.btLogin);
        mEmail = findViewById(R.id.etUsername);
        mPassword = findViewById(R.id.etPassword);

      //  if(fAuth.getCurrentUser() != null){
      //      startActivity(new Intent(getApplicationContext(),Startseite.class));
      //      finish();
      //  }

       // btRegister.setOnClickListener(this);
        login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String email = mEmail.getText().toString().trim();
                String password = mPassword.getText().toString().trim();

                if (TextUtils.isEmpty(email)) {
                    mEmail.setError("Benutzername is Required.");
                    return;
                }

                if (TextUtils.isEmpty(password)) {
                    mPassword.setError("Password is Required.");
                    return;
                }



                // authenticate the user

                fAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        if (task.isSuccessful()) {
                            Toast.makeText(MainActivity.this, "Logged in Successfully", Toast.LENGTH_SHORT).show();
                            startActivity(new Intent(getApplicationContext(), MainActivity.class));
                        } else {
                            Toast.makeText(MainActivity.this, "Error ! " + task.getException().getMessage(), Toast.LENGTH_SHORT).show();

                        }

                    }
                });

            }
        });
    }



}


共2个答案

匿名用户

您的MainActivity类不必要地实现了View. OnClickListener接口。删除实现View.OnClickListener,它就可以工作了。

匿名用户

当您实现View. OnClickListener接口时,您需要在活动中实现onClick方法。您可以删除此实现,因为您在代码中为登录按钮分配了onClickListener。

您可以为您的活动实现View. OnClickListener,在您的活动中实现onClick方法,将每个View的每个onClickListener设置为this,并使用id开关捕获Activity的onClick方法中的所有Event。这是我做的事情,当我在一个活动中获得一些onClick方法时,将所有onClick方法放在一个地方