在Fragment类中未调用FirebaseAuth.AuthStateListener

奥约努瓦·裘德·奥查利夫(Ojonugwa Jude Ochalifu)

MainActivity中包含的我的导航抽屉导航到多个Fragment。在这些Fragment类的onCreate方法中,尝试onAuthStateChanged获取当前用户:

FirebaseAuth.AuthStateListener mAuthListener;
...
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mAuthListener = new FirebaseAuth.AuthStateListener() {
        @Override
        public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
            user = firebaseAuth.getCurrentUser();
            if (user != null ) {
                Log.e(TAG, "onAuthStateChanged:signed_in" + user.getUid());

            } else { //user is not logged in

                Log.e(TAG, "onAuthStateChanged:signed_out");

            }

        }
    };
   }

onAuthStateChanged从来没有被称为。类似的代码MainActivity可以正常工作。我试过在FragmentonCreateView()onResume()方法中调用此代码,但没有任何反应。为了解决这个问题并获得当前用户,我在MainActivity中创建了一个方法:

 public FirebaseUser getFirebaseUser() {
    return user;
 }

然后通过执行以下操作在Fragment类中调用该方法:

FirebaseUser user = ((MainActivity) getActivity()).getFirebaseUser();

if (user != null ) {
            Log.e(TAG, "onAuthStateChanged:signed_in" + user.getUid());

        } else { //user is not logged in

            Log.e(TAG, "onAuthStateChanged:signed_out");

        }

一切都很好。我的问题是,为什么我不能打电话

mAuthListener = new FirebaseAuth.AuthStateListener() {
    @Override
    public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
      ...

从我的片段类?

奥约努瓦·裘德·奥查利夫(Ojonugwa Jude Ochalifu)

感谢@ArnisShaykh,我发现我没有打电话给:

public void onStart(){
    super.onStart();
    firebaseAuth.addAuthStateListener(mAuthListener); //firebaseAuth is of class FirebaseAuth
}

在Fragment类中。

记得还要添加:

@Override
public void onStop() {
    super.onStop();
    if (mAuthListener != null) {
        firebaseAuth.removeAuthStateListener(mAuthListener);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Firebase AuthStateListener如何工作?

来自分类Dev

Firebase AuthStateListener如何工作?

来自分类Dev

在AuthStateListener Firebase Android外部访问用户数据

来自分类Dev

未调用 Fragment 中的 onCreateView

来自分类Dev

FirebaseAuth侦听器未调用

来自分类Dev

类中的构造方法未调用

来自分类Dev

在主类中未调用ActionListener吗?

来自分类Dev

类中未调用 PHP 构造函数

来自分类Dev

在辅助类中未调用 OnIabPurchaseFinishedListener

来自分类Dev

使用TabLayout和ViewPager在Fragment中未调用OnResume()

来自分类Dev

Android:如何使用Intent从活动中调用Fragment类

来自分类Dev

我如何从扩展Fragment的类中调用getCacheDir()

来自分类Dev

我如何从扩展Fragment的类中调用getCacheDir()

来自分类Dev

在UITextView类中未调用UIAlertView Delegate方法

来自分类Dev

在类中调用类?

来自分类Dev

Fragment android中的类

来自分类Dev

调用从MainActivity类扩展Activity的Fragment扩展的类Fragment

来自分类Dev

未调用类委托方法

来自分类Dev

如何在Java中调用FirebaseAuth.signInWithCustomToken

来自分类Dev

从AppCompat v22(API 10)开始未调用Fragment中的onPrepareOptionsMenu

来自分类Dev

虚拟析构函数在基类和派生类中未调用

来自分类Dev

MPAndroidChart 未显示在 Fragment 中

来自分类Dev

从ViewPager中的Fragment调用方法

来自分类Dev

无法在Fragment中调用getChildFragmentManager

来自分类Dev

Fragment中的OnActivityResult不被调用

来自分类Dev

在类方法中引发副作用并在调用方法中捕获的模拟异常给出“未引发”

来自分类Dev

在实时服务器中未调用CI中的自定义表单验证类

来自分类Dev

在Fragment类中显示ProgressDialog

来自分类Dev

调用Java中的类?

Related 相关文章

热门标签

归档