請首先看到線框圖像http://i.imgur.com/dPAMA.png。替換viewpager所顯示片段內的片段
我正在使用ViewPager在FragmentActivity中顯示片段。 ViewPager獲取從所附FragmentPagerAdapter
mViewPager = (ViewPager) findViewById(R.id.view_pager);
mAdapter = new HomePagerAdapter(getSupportFragmentManager());
mViewPager.setAdapter(mAdapter);
假設viewpager具有3個片段來顯示說片段1,Fragment2,Fragment3片段。 在上面的圖片中,「顯示片段1」是第一個片段「片段1」的標題。該片段是一個列表片段並顯示一個列表。 Fragment2和Fragment3都有自己的內容可以顯示。當用戶在屏幕上滑動時,ViewPager將顯示下一個片段「Fragment2」。
我想要的是,當點擊列表中的項目(由Fragment1顯示)時,Fragment1應該完全替換爲其他片段,比如Fragment4(這是不同的片段,不會被連接的適配器返回) 。當顯示Fragment4時,操作欄應該更改其內容。無論何時用戶使用Fragment4和onBackPress或ActionBar中的操作,帶有列表的Fragment1都應該再次顯示。同時,ViewPager應該表現相同,即在滑動時,下一個片段(在我們的例子中爲Fragment2)將被顯示。
基本上,我想要獲得相同的行爲,例如在:
http://developer.android.com/training/basics/fragments/fragment-ui.html#Replace
在這個例子中ListFragment直接顯示FragmentActivity內。我用ViewPager顯示ListFragment。我想從上面的例子中得到相同的功能,但是使用ViewPager顯示片段。在Android 4.2發佈之前,這是非常難以實現的。這個版本的Android支持使用getChildFragmentManager()
嵌套的片段,所以我看到了一些希望。
我在這邊試了很多天,並且還掃描了Q &的整個stackoverflow與嵌套片段有關,但沒有得到我想要的。
那麼,這是可能實現的嗎?如果是,那麼如何?