如何从片段中控制Activity FragmentTransaction?

时间:2012-08-20 16:32:43

标签: android android-layout android-fragments android-activity

我确定这个问题非常基本,但我很新。 现在我在我的主要活动下有一个FragmentTransaction(见下文),我希望能够从其中一个片段中执行“替换”。我相信它会涉及到getActivity(),但我不确定如何做到这一点?

如果有人能给我一个例子,那将是很好的,在此先感谢:)

public void onTabSelected(Tab tab, FragmentTransaction ft) {
    {
        if(tab.getPosition()==0)
        {
        firstFragment frag = new firstFragment();
        ft.replace(android.R.id.content, frag);
        }
        else if(tab.getPosition()==1)
        {
        newsFragment frag = new newsFragment();
        ft.replace(android.R.id.content, frag);
        }
        else if(tab.getPosition()==2)
        {
        thirFragment frag = new thirFragment();
        ft.replace(android.R.id.content, frag);
        }
        else if(tab.getPosition()==3)
        {
        calendar frag = new calendar();
        ft.replace(android.R.id.content, frag);
        }
        else if(tab.getPosition()==6)
        {
        linksFragment frag = new linksFragment();
        ft.replace(android.R.id.content, frag);
        }
        else if(tab.getPosition()==5)
        {
        contactFragment frag = new contactFragment();
        ft.replace(android.R.id.content, frag);
        }
        }


}

2 个答案:

答案 0 :(得分:2)

要使用片段事务,请执行以下操作:

                FragmentManager fmu = getSupportFragmentManager();
                FragmentTransaction ftu = fmu.beginTransaction();
                RSSFragment rssfrag;
                ftu.replace(R.id.frame_fragment, rssfrag).commit();

答案 1 :(得分:0)

声明一个类变量rootActivity,即onCreate()方法中的实例化。

public class yourclass
Activity rootActivity;
public void onCreate(){
     super.onCreate();
     rootActivity = getActivity();
}