0
Из моего фрагмента внутри ViewPager, я хочу получить родительскую активность:Android: Как получить активность родителя из фрагмента внутри ViewPager
метод в моем фрагменте:
@Override
public void setMenuVisibility(final boolean visible) {
super.setMenuVisibility(visible);
if (visible) {
Activity aa = getActivity(); >>> It's always NULL !!
aa.findViewById(R.id.my_special_button).setVisibility(View.VISIBLE);
}
}
компоновка этой деятельности:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
....
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
....
<Button
android:id="@+id/my_special_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@color/background"/>
Сначала это будет работать. Однако, если вы используете один и тот же фрагмент в нескольких действиях, он присоединяется к ним только при первом открытии в этом действии. Затем, когда вы вернетесь к активности, которая ранее использовала этот фрагмент, очень вероятно, что вы останетесь с информацией из последнего действия ... которое больше не является тем, в котором вы находитесь. Для меня я нашел getActivity() в onResume является надежным. – Anders8
Удивительное предложение, и это правильно Спасибо Anders8 – Devsil