【问题标题】:Error while opening the new activity using the text view使用文本视图打开新活动时出错
【发布时间】:2017-10-14 11:46:35
【问题描述】:

我创建了一个应用程序。 TextView 在按钮上使用了 On click 属性,但是, 当我单击文本时,我的应用程序。崩溃

AndroidRuntime:致命异常:主要

进程:com.example.android.myapp,PID:10067 java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.android.myapp/com.example.android.myapp.Login}:java.lang.NullPointerException:尝试调用虚拟方法 'com.google.firebase.auth .FirebaseUser com.google.firebase.auth.FirebaseAuth.getCurrentUser()' 在空对象引用上

我的代码是

public class MainActivity extends AppCompatActivity {
EditText e1,e2;
    TextView textView;
    FirebaseAuth firebaseAuth;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        e1=(EditText)findViewById(R.id.email);
        e2=(EditText)findViewById(R.id.password);
    textView=(TextView)findViewById(R.id.sign);
        firebaseAuth=FirebaseAuth.getInstance();
        if(firebaseAuth.getCurrentUser()!=null)
        {
            finish();
            startActivity(new Intent(getApplicationContext(),Homepage.class));

        }

    }

    public void Register(View view) {
        String email=e1.getText().toString().trim();
        String pass=e2.getText().toString().trim();
        if(TextUtils.isEmpty(email))
        {
            Toast.makeText(this,"Enter the Email",Toast.LENGTH_SHORT).show();
        return;
        }
        if(TextUtils.isEmpty(pass))
        {
            Toast.makeText(this,"Enter the Pass",Toast.LENGTH_SHORT).show();
        return;
        }
        firebaseAuth.createUserWithEmailAndPassword(email, pass)
                .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        //checking if success
                        if(task.isSuccessful()){
                            //display some message here
                            Toast.makeText(MainActivity.this,"Successfully registered",Toast.LENGTH_LONG).show();
                        }else{
                            //display some message here
                            Toast.makeText(MainActivity.this,"Registration Error",Toast.LENGTH_LONG).show();
                        }

                    }
                });

    }

    public void SignIn(View view) {
        finish();
        Intent intent = new Intent(this,Login.class);
        startActivity(intent);
    }
}

【问题讨论】:

    标签: android android-activity


    【解决方案1】:
      firebaseAuth=FirebaseAuth.getInstance();
      if(firebaseAuth!=null){
            if(firebaseAuth.getCurrentUser()!=null)
            {
                finish();
                startActivity(new Intent(getApplicationContext(),Homepage.class));
    
            }
       }
    

    为什么你在 firebaseAuth 中得到 null 这个链接可以帮助你:why getting null in firebaseAuth object

    希望这会对你有所帮助。

    【讨论】:

    • 不,当我尝试添加您的代码时,它并没有解决我的问题
    • 10-14 17:27:08.174 17039-17039/com.example.android.myapp E/AndroidRuntime:致命异常:主进程:com.example.android.myapp,PID:17039 java。 lang.RuntimeException:无法启动活动 ComponentInfo{com.example.android.myapp/com.example.android.myapp.Login}:java.lang.NullPointerException:尝试调用虚拟方法 'com.google.firebase.auth.FirebaseUser com.google.firebase.auth.FirebaseAuth.getCurrentUser()' 在空对象上
    • 感谢您解决问题并拯救我的一天
    猜你喜欢
    • 1970-01-01
    • 2021-03-23
    • 1970-01-01
    • 1970-01-01
    • 2020-04-10
    • 2015-06-09
    • 1970-01-01
    • 2018-04-11
    • 1970-01-01
    相关资源
    最近更新 更多