如何从一个片段切换到另一个片段android

时间:2015-09-01 16:57:43

标签: android android-fragments fragmentmanager

嗨我有5个片段现在我第一次去那些片段的Activity然后调用默认的第一个片段,然后在第一个Fragment上有一个按钮,点击那个按钮我去了第二个片段,类似于第二个片段有一个按钮,然后单击该按钮,我将转到第三个片段,依此类推。

现在我的问题是,目前我正处于第五个片段,现在我想将第五个片段转到第二个片段,我应该为此做些什么? 请问任何人可以告诉我吗?

5 个答案:

答案 0 :(得分:1)

您可以按名称弹出片段。在向后堆栈添加片段时,只需给它们命名即可。

fragmentTransaction.addToBackStack("frag2");

然后在fragment5中,使用名称ie frag2弹出后面的堆栈并包含POP_BACK_STACK_INCLUSIVE

    someButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            FragmentManager fm = getActivity()
                    .getSupportFragmentManager();
            fm.popBackStack ("frag2", FragmentManager.POP_BACK_STACK_INCLUSIVE);
        }
    });

答案 1 :(得分:1)

以下是添加和替换片段的方法。

addReplaceFragment(currencyFragmentWithSearch, replaceFragment);

片段的调用是..

id="'#ajax-inquire" 
  • replaceFragment整数变量
  • currencyFragmentWithSearch Fragment instance

答案 2 :(得分:0)

您可以随时执行此操作:)

getActivity().getSupportFragmentManager().replace(R.id.yourFrameLayout,new Fragment2(),"FRAG2");

OR

Fragment fragment = getActivity().getSupportFragmentManager().findFragmentByTag("FRAG2");
getActivity().getSupportFragmentManager().replace(R.id.yourFrameLayout,,"FRAG2");

答案 3 :(得分:0)

试试这段代码:

Fragment fragment = new SecondFragmentName();
FragmentManager fm = getActivity().getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.content_frame, fragment);
ft.commit();

答案 4 :(得分:0)

对mudit_sen代码进行小修正。只有在添加.beginTransaction时它才有效。谢谢。

getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.FrameLayoutId,new FragmentName()).commit();