如何使用PagerAdapter替换ViewPager中的Fragment?

Ale*_*tov 9 android replace android-fragments android-viewpager fragmentpageradapter

我的问题

我用a ViewPager来显示一个片段FragmentActivity.ViewPager从附件中获取片段FragmentPagerAdapter.

mViewPager = (ViewPager) findViewById(R.id.view_pager);       
mAdapter = new HomePagerAdapter(getSupportFragmentManager());    
mViewPager.setAdapter(mAdapter);
Run Code Online (Sandbox Code Playgroud)

假设ViewPager有3个片段来显示:Fragment1,Fragment2,Fragment3.Fragment1是网格片段并显示网格.Fragment2Fragment3有自己的内容来展示.当使用在屏幕上滑动时,ViewPager将显示下一个片段 - Fragment2.等等.

我想要的是?

我想要的是,当Fragment1点击网格中的一个项目(由...显示)时,Fragment1应该完全替换为其他一些片段,比如说Fragment4(这是不同的片段,连接的适配器不会返回).用户将Fragment4ButtonBack点击之后(仅按钮旁边Fragment4)工作,Fragment1并且应该再次显示网格.同时ViewPager应该表现相同,即在滑动时,Fragment2将显示下一个片段(在我们的例子中).

所以我只想获得与示例相同的行为:http: //developer.android.com/training/basics/fragments/fragment-ui.html#Replace

我的问题

那么,这有可能实现吗?如果是,那该怎么办?我非常感谢你的帮助.亚历克斯.PS抱歉我的英文:)

小智 16

我做了一个小例子来说明如何实现它:

https://github.com/danilao/fragments-viewpager-example

我认为重点是使用另一个片段作为容器.


vip*_*tal 0

实现此目的的一种方法是添加另一个FragmentActivity显示您的Fragment4. 用于Intent启动此活动并发送网格项位置或其他数据Extra

按下后退按钮后,此活动将完成,并且将显示带有视图寻呼机的最后一个活动。

[编辑]旧回复。其他答案中提供了更好的解决方案,