Вызов родительской активности из фрагмента

Если я нахожусь внутри фрагмента, как я могу назвать деятельность родителя?

3 ответа

Решение

Да, это правильно, вызывая getActivity и передавая его родительской активности для доступа к его методам или переменным. ((ParentActivityName)getActivity())

Попробуй это.

ParentActivityName это имя родительского класса

Самый правильный способ сделать Activity реализовать Interface и использовать слушателей. Таким образом, Fragment не привязан к какому-либо конкретному Activity сохраняя его многоразовым. В 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");
    }
}

Таким образом, вы делаете Activity слушать фрагмент, когда он прикреплен к нему.

Смотрите также:

Просто вызовите родительское действие, используя метод getActivity().

CardView cardView = (CardView) getActivity().findView(R.id.your_view);
Другие вопросы по тегам