簡體   English   中英

FragmentManager 從活動到片段的錯誤

[英]Error in FragmentManager from activity to fragment

我試圖在成功登錄后打開一個片段。 我意識到意圖不能用於片段,因此使用了 FragmentManager。 但是,當我嘗試使用 FragmentManager 時,我的應用程序崩潰了。 我沒有在代碼中顯示任何錯誤。 以下代碼顯示在我的活動中。

 package com.example.ireview;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

import com.example.ireview.ui.home.HomeFragment;
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;
import com.google.firebase.auth.FirebaseUser;

public class LogInPage extends AppCompatActivity {

    private FirebaseAuth mAuth = FirebaseAuth.getInstance();
    private FirebaseUser currentUser = mAuth.getCurrentUser();
    EditText email;
    EditText password;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_log_in_page);

        email = (EditText) findViewById(R.id.editTextEmailLogIn);
        password = (EditText) findViewById(R.id.editTextPasswordLogIn);

    }


    public void clickLogin(View v) {
        String userEmail = email.getText().toString();
        String userPassword = password.getText().toString();

        if (userEmail.length() != 0 && userPassword.length() != 0) {
            mAuth.signInWithEmailAndPassword(userEmail, userPassword)
                    .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                        @Override
                        public void onComplete(@NonNull Task<AuthResult> task) {
                            if (task.isSuccessful()) {
                                // Sign up success
                                Toast.makeText(getBaseContext(), "Login Successful.",
                                        Toast.LENGTH_SHORT).show();
                                // Bring user to success activity

                                androidx.fragment.app.Fragment fragment = new Fragment();
                                FragmentManager fragmentManager = getSupportFragmentManager();
                                fragmentManager.beginTransaction().replace(R.id.home_frag, fragment).commit();



                            } else {
                                //
                            }
                        }
                    });
        } else {
            //
        }
    }
}

創建你的fragment的 object

HomeFragment fragment = new HomeFragment();

代替

androidx.fragment.app.Fragment fragment = new Fragment();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM