getFragmentManager().getFragmentById(R.id.fragment)返回null

Trz*_*cje 0 android android-fragments

我做了一个使用操作栏的简单应用程序,我想检测哪些Fragment已加载.不幸的是,以下行始终返回null:

getFragmentManager().getFragmentById(R.id.fragment) 
Run Code Online (Sandbox Code Playgroud)

要加载新Fragment的,我正在使用:

getFragmentManager().beginTransaction().replace(R.id.content_frame, fragment).commit();
Run Code Online (Sandbox Code Playgroud)

Epi*_*rce 5

因为FragmentTransaction将片段的ID设置R.id.content_frame为容器.所以getFragmentManager().getFragmentById(R.id.content_frame)会给你片段.

此外,建议使用支持库的Fragments和appcompat-v7(getSupportFragmentManager()以及android.support.v4.Fragment从appcompat扩展ActionBarActivity),因为它们更加维护.