1

我确定这个问题很基本,但我很新。现在我的主要活动下有一个 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);
        }
        }


}
4

2 回答 2

2

要使用片段事务,您可以这样做:

                FragmentManager fmu = getSupportFragmentManager();
                FragmentTransaction ftu = fmu.beginTransaction();
                RSSFragment rssfrag;
                ftu.replace(R.id.frame_fragment, rssfrag).commit();
于 2012-08-20T16:41:21.160 回答
0

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

public class yourclass
Activity rootActivity;
public void onCreate(){
     super.onCreate();
     rootActivity = getActivity();
}
于 2012-08-20T16:38:02.590 回答