[英]Dynamically adding Map Fragment into an activity using FragmentManager and FragmentTransaction
[英]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.