我發現了很多類似的問題和很多不同的答案,但是他們都沒有幫助我。如果可能的話,我會盡量發表一個明確的問題以獲得明確的答案。如何從一個新的ViewPager中替換片段
所以我有一個活動,其中包含(現在)只有一個片段(HomeScreenFragment)的FragmentStatePagerAdapter的ViewPager。
Inside HomeScreenFragment我有一個RecyclerView列表的幾種不同的圖標,應該打開每個項目點擊不同的片段。
HomeScreenFragment具有一個FrameLayout作爲ID爲「container」的根佈局。這是我打電話在這種情況下,與MainTypesFragment更換HomeScreenFragment方法:
private void openAllTypesFragment() {
MainTypesFragment fragment = new MainTypesFragment();
FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.container, fragment);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
transaction.addToBackStack(HomeScreenFragment.class.getName());
transaction.commit();
eventBus.post(new Event(null, Event.EVENT_FRAGMENT));
}
由於FragmentStatePagerAdapter在MainActivity初始化,我送一個盛會,MainActivity漁獲物和調用adapter.notifyDataSetChanged();
這樣做,這樣,什麼都不會發生。我試着用getChildFragmentManager()而不是getActivity()。getSupportFragmentManager(),並在這種情況下,以前的片段(HomeScreenFragment)下面是新的(MainTypesFragment)可見..
任何想法我在這裏做錯了什麼?
你想替換以前的片段,或者你想只是打開舊的片段? –
我想在viewpager(HomeScreenFragment)內部有2個片段,可以用幾種不同的可能片段替換它們,這取決於RecyclerView項目單擊的類型和總是作爲viewpager中第二個片段的一個片段 – user8789149
如果我正確理解,您需要分離每個頁面的片段堆棧?就像你點擊page1列表項1並在page1上出現新的片段上面的列表? –