Java 错误:MainActivity不是抽象的,并且不重写OnClickListener中的抽象方法onClick(视图)

Java 错误:MainActivity不是抽象的,并且不重写OnClickListener中的抽象方法onClick(视图),java,android,android-studio,Java,Android,Android Studio,我需要帮助解决一个问题。这可能很容易,但我不知道该怎么办 我的错误: 错误:MainActivity不是抽象的,并且不重写抽象 OnClickListener中的方法onClick(视图) public类MainActivity扩展AppCompatActivity实现View.OnClickListener{ 按钮寄存器; 图像视图圆圈1; 文本视图登录; 按钮登录; 编辑文本mEmail,mPassword; 弗斯; @凌驾 创建时受保护的void(Bundle savedInstanceS

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

错误:MainActivity不是抽象的,并且不重写抽象 OnClickListener中的方法onClick(视图)

public类MainActivity扩展AppCompatActivity实现View.OnClickListener{
按钮寄存器;
图像视图圆圈1;
文本视图登录;
按钮登录;
编辑文本mEmail,mPassword;
弗斯;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btRegister=findviewbyd(R.id.btRegister);
tvLogin=findViewById(R.id.tvLogin);
circle1=findViewById(R.id.circle1);
login=findviewbyd(R.id.btLogin);
mEmail=findviewbyd(R.id.etUsername);
mPassword=findviewbyd(R.id.etPassword);
//if(fAuth.getCurrentUser()!=null){
//startActivity(新意图(getApplicationContext(),startSite.class));
//完成();
//  }
//btRegister.setOnClickListener(这个);
login.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
字符串email=mEmail.getText().toString().trim();
字符串密码=mPassword.getText().toString().trim();
如果(TextUtils.isEmpty(电子邮件)){
setError(“需要Benutzername”);
返回;
}
if(TextUtils.isEmpty(密码)){
设置错误(“需要密码”);
返回;
}
//对用户进行身份验证
fAuth.使用email和password(电子邮件,密码)登录。添加完整列表(新的完整列表(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
Toast.makeText(MainActivity.this,“成功登录”,Toast.LENGTH_SHORT.show();
startActivity(新意图(getApplicationContext(),MainActivity.class));
}否则{
Toast.makeText(MainActivity.this,“Error!”+task.getException().getMessage(),Toast.LENGTH\u SHORT.show();
}
}
});
}
});
}
}

您的
main活动
类不必要地实现了
View.OnClickListener
接口。删除
implements View.OnClickListener
,它就会工作。

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


您可以为活动实现View.OnClickListener,在活动中实现onClick方法,将每个视图的每个OnClickListener设置为
this
,并使用id开关捕获活动onClick方法中的所有事件。这是我所做的,当我在一个活动中使用了一些onClick方法,将onClick的所有方法都放在一个位置时

您能否提供更多的上下文(代码用于什么,您的目标是什么,何时触发错误…)?这会帮助帮助帮助你的人这能回答你的问题吗?
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();

                        }

                    }
                });

            }
        });
    }



}