首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >尝试调用虚方法'java.lang.CharSequence android.widget.TextView.getText()‘

尝试调用虚方法'java.lang.CharSequence android.widget.TextView.getText()‘
EN

Stack Overflow用户
提问于 2018-08-12 00:13:18
回答 1查看 205关注 0票数 -1

我试图在Android Studio 3.1.4中使用电子邮件和密码创建一个Firebase身份验证应用程序,但当我单击注册按钮时,应用程序崩溃,摘要如下。

MainActivity.java

代码语言:javascript
复制
package com.example.vatsal2416.firebaseauth;

import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;

public class MainActivity extends Activity {
    private FirebaseAuth mAuth;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        final TextView textEmail = findViewById(R.id.et1);
        final TextView textPassword= findViewById(R.id.et2);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //Initialize buttons
        Button btn_Login = findViewById(R.id.login);
        Button btn_regsiter = findViewById(R.id.register);

        //intialize Firebase Authentication
        mAuth = FirebaseAuth.getInstance();

        btn_Login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                methodLogin(textEmail.getText().toString(),textPassword.getText().toString());
            }
        });


        btn_regsiter.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                methodRegister(textEmail.getText().toString(),textPassword.getText().toString());
            }
        });
    }

    public void methodRegister(String email, String password){
        mAuth.createUserWithEmailAndPassword(email, password)
                .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        if (task.isSuccessful()) {
                            Toast.makeText(getApplicationContext(), "Authentication Successful", Toast.LENGTH_SHORT).show();

                        }else{
                            Toast.makeText(getApplicationContext(), "Authentication Successful", Toast.LENGTH_SHORT).show();
                        }
                    }
                });
    }

    public void methodLogin(String email, String password){
        mAuth.signInWithEmailAndPassword(email, password)
                .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        if (task.isSuccessful()) {
                            Toast.makeText(getApplicationContext(), "Authentication Successful", Toast.LENGTH_SHORT).show();
                        }else{
                            Toast.makeText(getApplicationContext(), "Authentication Successful", Toast.LENGTH_SHORT).show();
                        }
                    }
                });
    }
}

项目的Github链接

https://github.com/vatsal2416/loginExample

有没有人能告诉我这段代码到底错在哪里?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-12 00:16:52

使用

代码语言:javascript
复制
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final TextView textEmail = findViewById(R.id.et1);
    final TextView textPassword= findViewById(R.id.et2);

而不是

代码语言:javascript
复制
    final TextView textEmail = findViewById(R.id.et1);
    final TextView textPassword= findViewById(R.id.et2);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51801531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档