我有一个5个片段的viewpager,其中一个我希望通过按钮点击完全替换它.我也希望能够通过后退按钮隐藏子片段.
这里的片段布局:
android:orientation="vertical"
android:id="@+id/contacts_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@null">
android:id="@+id/import_contacts"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
android:id="@+id/btn_my_clusters"
android:background="@drawable/btn_wide_arrow_bg"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/TEXT"
android:text="@string/btn_my_clusters_text"
android:layout_marginBottom="10dp"/>
android:id="@+id/progress_bar"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:layout_gravity="center"/>
android:id="@+id/contacts_list"
android:divider="@null"
android:listSelector="@android:color/transparent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="gone"/>
当我尝试像这样替换contacts_layout时:
ImportContactsFragment importContactsFragment = new ImportContactsFragment();
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.addToBackStack(null);
transaction.replace(R.id.contacts_layout, importContactsFragment).commit();
它不起作用(我的意思是没有错误,但我的ImportContactsFragment根本没有显示).但是,当我尝试替换import_contacts视图时,如下所示:
ImportContactsFragment importContactsFragment = new ImportContactsFragment();
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.addToBackStack(null);
transaction.replace(R.id.import_contacts, importContactsFragment).commit();
一切正常,显示了ImportContactsFragment.
所以我想知道是否可以用子片段替换所有片段内容?也许我可以用其他方式做到这一点?