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"/>
這似乎起初工作。但是,如果您在多個活動中使用相同的片段,則只會在該活動中第一次打開時附加到片段。然後,當你回到之前舉辦過這個片段的活動時,很可能你會留下來自上一次活動的信息......這已不再是你所參與的活動。對於我來說,我發現onResume中的getActivity()是可靠的。 – Anders8
真棒建議,這是正確的感謝Anders8 – Devsil