Вызов родительской активности из фрагмента
Если я нахожусь внутри фрагмента, как я могу назвать деятельность родителя?
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);