0

我很新的碎片API,這裏是我的問題:讓我們說我有ActivityActionBar與選項卡。假設我想從我的應用程序啓動消息傳遞應用程序,通常它將以新的Activity開始。是否可以將消息Activity作爲新選項卡添加到我的Activity?我怎樣才能達到這個效果?提前致謝。開始新的活動,並將它們添加到基於片段的佈局

回答

1

裏面的onCreate方法執行以下操作

 Context context = getApplicationContext(); 
    ActionBar actionbar = getActionBar(); 
    actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

    ActionBar.Tab PlayerTab = actionbar.newTab().setText("Fragment A"); 
    ActionBar.Tab StationsTab = actionbar.newTab().setText("Fragment B"); 

    Fragment PlayerFragment = new AFragment(); 
    Fragment StationsFragment = new BFragment(); 

    PlayerTab.setTabListener(new MsgTabsListener(PlayerFragment, context)); 
    StationsTab.setTabListener(new MsgTabsListener(StationsFragment, context)); 

    actionbar.addTab(PlayerTab); 
    actionbar.addTab(StationsTab); 

然後添加類MsgTabListener並執行以下操作

class MsgTabsListener implements ActionBar.TabListener { 
public Fragment fragment; 
public Context context; 

public MsgTabsListener(Fragment fragment, Context context) { 
    this.fragment = fragment; 
    this.context = context; 
} 

@Override 
public void onTabReselected(Tab tab, FragmentTransaction ft) { 

//Start a new activity here with respect to your main context. 
context.StartActivity(new Intent(....));  

} 

@Override 
public void onTabSelected(Tab tab, FragmentTransaction ft) { 
    ft.replace(R.id.fragment_container, fragment); 
} 

@Override 
public void onTabUnselected(Tab tab, FragmentTransaction ft) { 
    ft.remove(fragment); 
} 

如果您正在尋找好的Fragements API教程然後拉爾斯·沃格爾有非常好的解釋。

http://www.vogella.com/articles/Android/article.html#fragments_tutorial