Если я внутри фрагмента, как я могу вызвать родительскую активность?
Вызвать родительскую активность из фрагмента
Ответ 1
Да, его право, вызвав getActivity и передав его родительской активности для доступа к его методам или переменным ((ParentActivityName)getActivity())
Попробуйте это.
ParentActivityName - имя родительского класса
Ответ 2
Самый правильный способ - сделать Activity 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 прослушать фрагмент, когда он прикреплен к нему.
См. также:
Ответ 3
Просто вызовите родительскую активность с помощью метода getActivity().
CardView cardView = (CardView) getActivity().findView(R.id.your_view);