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