When I call findFragmentById() with the id of my fragment, it returns null.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:orientation="vertical"     android:layout_width="fill_parent"     android:layout_height="fill_parent">          <fragment android:name="com.madduck.test.app.fragment.MainFragment"                   android:id="@+id/main_fragment"                   android:layout_width="match_parent"                   android:layout_height="match_parent" />          <fragment android:name="com.madduck.test.app.fragment.LoginFragment"                   android:id="@+id/login_fragment"                   android:layout_width="match_parent"                   android:layout_height="match_parent" /> </LinearLayout>  MainActivity.java
private static final int LOGIN = 0; private static final int MAIN = 1; private static final int FRAGMENT_COUNT = MAIN +1; private Fragment[] fragments = new Fragment[FRAGMENT_COUNT]  protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_main);      FragmentManager fm = getSupportFragmentManager();     fragments[LOGIN] = fm.findFragmentById(R.id.login_fragment);     fragments[MAIN] = fm.findFragmentById(R.id.main_fragment);      FragmentTransaction transaction = fm.beginTransaction();     for (Fragment f : fragments) {         if (f != null)             transaction.hide(f);         else             Log.e(TAG, "???");     }      transaction.commit(); }  The thing is that when I call fm.findFragmentById(R.id.login_fragment); I get a null but when I call fm.findFragmentById(R.id.main_fragment); I get the fragment.
The answer Kar0t is perfectly fine but this may help somebody. On my case I had a fragment inside of a fragment and I was getting the wrong FragmentManager. I just had to call:
getChildFragmentManager()
and then just find the Fragment as usual:
fm.findFragmentById(R.id.fragment) 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With