1. ホーム
  2. java

[解決済み] "メソッドがそのスーパークラスのメソッドをオーバーライドしていない"

2022-02-08 07:56:33

質問

誰か助けて 私はAndroidアプリ開発の初心者で、このエラーに対処する方法について少し迷っています。これが私のコードです。

public class RegActivity extends AppCompatActivity {
private EditText et_email;
private EditText et_password;
private EditText et_name;
private FirebaseAuth mAuth;
private AdView mAdView;

@Override
protected void onCreate(Bundle savedInstanceState) {
   // super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_reg);
    mAuth = FirebaseAuth.getInstance();
    mAdView = (AdView) findViewById(R.id.adView);
    AdRequest adRequest1 = new AdRequest.Builder()
            .addTestDevice("A2AA9C5E18C297BBCC0AFCF352517...")
            .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
            .build();
    mAdView.loadAd(adRequest1);
    super.onStart();

    et_email = (EditText) findViewById(R.id.et_email);
    et_password = (EditText) findViewById(R.id.et_password);
    et_name = (EditText) findViewById(R.id.et_name);

    //findViewById(R.id.b_reg).setOnClickListener();
}

@Override//Here is the error
public void onClick(View view) {

}

public void registration (String email, String password){
    mAuth.createUserWithEmailAndPassword(email,password).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {
            if(task.isSuccessful()){
                mAuth.getCurrentUser().sendEmailVerification()
                        .addOnCompleteListener(new OnCompleteListener<Void>() {
                            @Override
                            public void onComplete(@NonNull Task<Void> task) {
                                if(task.isSuccessful()){
                                    Toast.makeText(RegActivity.this, "Успешная регистрация. Пожалуйста проверьте ваш email, и перейдите по ссылке в письме для верификации.",
                                            Toast.LENGTH_LONG).show();
                                    //et_email.setText("");
                                    //et_password.setText("");
                                }else{
                                    Toast.makeText(RegActivity.this,  task.getException().getMessage(),
                                            Toast.LENGTH_LONG).show();
                                }
                            }
                        });
                Toast.makeText(RegActivity.this, "Регистрация успешна, теперь войдите", Toast.LENGTH_SHORT).show();
            } else{
                Toast.makeText(RegActivity.this, "Регистрация провалена", Toast.LENGTH_SHORT).show();
            }
        }
    });

}

}

こんな感じで。助けてくれますか? というのは間違いです。 Method does not override method from its superclass 私はロシアから来ただけで、何か明確でない場合は翻訳して申し訳ありません)

解決方法は?

を実装する必要があると思われます。 OnClickListener を使用して、そのメソッドをオーバーライドします。

この行を修正します。

public class RegActivity extends AppCompatActivity {

これで

public class RegActivity extends AppCompatActivity implements OnClickListener {