I have an activity which has a fragment.
XML:
<fragment android:name="com.example.androidcalculator.ResultFragment"
android:id="@+id/result_fragment"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
And I want to call a method from ResultFragment from a method in the Activity, but getSupportFragmentManager "doesn't exist":
FragmentManager fragMan = getSupportFragmentManager();
How can I resolve this?
This question is related to
android
android-activity
android-fragments
Instead of
extends Fragment
use
extends android.support.v4.app.Fragment
This works for me. for *API14 and above
get current activity from parent, then using this code
getActivity().getSupportFragmentManager()
import
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
I used FragmentActivity
TabAdapter = new TabPagerAdapter(((FragmentActivity) getActivity()).getSupportFragmentManager());
This worked for me. Running android API 19 and above.
FragmentManager fragMan = getFragmentManager();
getCurrentActivity().getFragmentManager()
Simply Use
FragmentManager fm = getActivity().getSupportFragmentManager();
Remember always when accessing fragment inflating in MainLayout use
Casting or getActivity()
.
You need to extend FragmentActivity
instead of Activity
extend class to AppCompatActivity
instead of Activity
Source: Stackoverflow.com