android.support.v4.app.getFragmentManager()返回null?

Yal*_* T. 30 android android-fragments android-support-library

这是我的Stacktrace:

FATAL EXCEPTION: main
java.lang.NullPointerException
at com.example.test.fragments.LoadingFragment$1.run(LoadingFragment.java:66)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

我片段的第66行:

FragmentTransaction ft = fm.beginTransaction();
Run Code Online (Sandbox Code Playgroud)

fm得到这样的:

android.support.v4.app.FragmentManager fm = getFragmentManager();
Run Code Online (Sandbox Code Playgroud)

我的片段延伸android.support.v4.app.Fragment,这些是我的进口:

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
Run Code Online (Sandbox Code Playgroud)

我从来没有见过我为FragmentManager得到null任何人都有想法?

Pra*_*ani 83

用此替换它getFragmentManager(),getSupportFragmentManager()并确保您的活动延伸FragmentActivity

  • 我在片段中称这个.Fragment中的方法仍称为getFragmentManager,即使在Fragment类的Support版本中也是如此.此片段所包含的活动是FragmentActivity. (13认同)
  • 支持Fragment类中没有getSupportFragmentManager()方法.http://developer.android.com/reference/android/support/v4/app/Fragment.html当然,我可以使用getActivity().getSupportFragmentManager(),但为什么这不起作用? (10认同)
  • 我第二个Yalla T.问题.为什么不起作用?为什么要用getSupportFragmentManager替换这个方法? (4认同)

Yal*_* T. -9

在清理和重建我的项目以及重新启动我的测试设备后,这以某种方式再次起作用。