“方法不会从其超类重写方法”

时间:2019-06-26 13:59:45

标签: java android

有人可以帮助我吗?我是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 如果翻译不清楚,抱歉,我来自俄罗斯)

4 个答案:

答案 0 :(得分:0)

您可能需要实现OnClickListener才能覆盖该方法。

修改此行:

public class RegActivity extends AppCompatActivity {

与此

public class RegActivity extends AppCompatActivity implements OnClickListener {

答案 1 :(得分:0)

您需要实现View.OnClickListener才能覆盖OnClick方法, 您可以在此处阅读有关处理点击事件的更多信息, https://www.geeksforgeeks.org/handling-click-events-button-android/

答案 2 :(得分:0)

您没有实现View.OnClickListener

更改

public class RegActivity extends AppCompatActivity {

收件人

public class RegActivity extends AppCompatActivity implements View.OnClickListener {

这就是为什么您将能够覆盖onClick

的原因

答案 3 :(得分:0)

检查活动的导入行(如果有以下行)

import android.support.v7.app.ActionBarActivity;

然后将其删除键入而不是

import androidx.appcompat.app.AppCompatActivity;

因为在我的情况下,它有效。