使用FragmentPagerAdapter了解Fragment替换

时间:2014-08-29 05:12:18

标签: java android listview fragment fragmentpageradapter

我很难理解如何使用fragment替换FragmentPagerAdapter。我有一个扩展FragmentPagerAdapterandroid.support.v13.app.FragmentPagerAdapter)和MainActivity implements ActionBarTabListener的课程,在FragmentPageAdapter课程中,我使用getItem()进行设置我的3 fragment。到现在为止还挺好。

其中一个fragmentListView(pos#1),我使用监听器检查onItemClick()

我想将当前的ListView Fragment替换为另一个fragment,所以我所做的就是在onItemClick()内执行以下代码:

FragmentManager mFragmentManager = mActivity.getFragmentManager();          

//new fragment to replace
Fragment mFragment = new TabPlaceFragment();

mFragmentManager.beginTransaction()
                            .replace(R.id.pager, mFragment)
                            .addToBackStack(null)
                            .commit();

这样做的是片段替换为空白fragment,我假设是寻呼机,但mFragment没有被替换。我尝试将ID添加到当前fragment并尝试替换它。

mFragmentManager.beginTransaction()
                                .replace(R.id.frament_old, mFragment)
                                .addToBackStack(null)
                                .commit();

但这样做是因为它与新fragment

之上的新fragment重叠

最后我尝试将fragment的ID替换为新的,但这也给了我一个空白fragment

//this gives me the current fragment I want to replace
    Fragment mCurrent = mFragmentManager.findFragmentByTag(MainHelper.getFragmentName(mViewPager.getId(), 1));


    mFragmentManager.beginTransaction()
                                    .replace(mCurrent.getId(), mFragment)
                                    .addToBackStack(null)
                                    .commit();

我确定我没有正确实现该方法,但我找不到一个很好的例子来遵循我的代码逻辑。我想把片段替换放在MainActivity下的getItem(),但不知道如何从我的onItemClick()监听器中调用它。

非常感谢任何帮助!!!

感谢。

0 个答案:

没有答案