web-dev-qa-db-fra.com

Appelez l'activité du parent à partir d'un fragment

Si je suis à l'intérieur d'un fragment, comment puis-je appeler l'activité d'un parent?

27
user1746708

Oui, c'est juste en appelant getActivity et en le lançant avec l'activité parent pour accéder à ses méthodes ou variables ((ParentActivityName)getActivity())

Essaye celui-là.

ParentActivityName est le nom de la classe parent

64
DcodeChef

Le moyen le plus approprié est de faire en sorte que votre Activity implémente une Interface et utilise des écouteurs. De cette manière, la Fragment n'est liée à aucune Activity spécifique, ce qui la garde réutilisable. Dans la Fragment:

@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);

    // This makes sure that the container activity has implemented
    // the callback interface. If not, it throws an exception
    try {
        mCallback = (OnHeadlineSelectedListener) activity;
    } catch (ClassCastException e) {
        throw new ClassCastException(activity.toString()
                + " must implement OnHeadlineSelectedListener");
    }
}

De cette façon, vous faites écouter la variable Activity lorsqu'elle est attachée à celui-ci.

Voir également:

10
Xtreme Biker

Appelez simplement votre activité parent à l'aide de la méthode getActivity ().

CardView cardView = (CardView) getActivity().findView(R.id.your_view);
0