2012-09-07 97 views
0

當我從他們開始活動時,My ActionBar選項卡消失。我可以看到活動,但標籤沒有出現。Action Bar Sherlock在活動加載後消失

我SherlockFragmentActivity是 -

public class FragmentDemoActivity extends SherlockFragmentActivity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ActionBar bar = getSupportActionBar(); 
    bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
    ActionBar.Tab tab1 = bar.newTab(); 
    ActionBar.Tab tab2 = bar.newTab(); 

    tab1.setText("Fragment A"); 
    tab2.setText("Fragment B"); 

    tab1.setTabListener(new MyTabListener()); 
    tab2.setTabListener(new MyTabListener()); 
    bar.addTab(tab1); 
    bar.addTab(tab2); 
} 

private class MyTabListener implements ActionBar.TabListener 
{ 

    @Override 
    public void onTabSelected(Tab tab, FragmentTransaction ft) { 
     if(tab.getPosition()==0) 
     { 
      CalendarViewActivity frag = new CalendarViewActivity(); 
      startActivity(new Intent(getApplicationContext(),CalendarViewActivity.class)); 
      //ft.replace(android.R.id.content, frag); 

     } 
     else 
     { 
      TestActivity frag = new TestActivity(); 
      //ft.replace(android.R.id.content, frag); 
     } 
    } 

    @Override 
    public void onTabUnselected(Tab tab, FragmentTransaction ft) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onTabReselected(Tab tab, FragmentTransaction ft) { 
     // TODO Auto-generated method stub 

    } 

} 

}

雖然我胡亞蓉是一個正常的Android的活動 -

public class CalendarViewActivity extends Activity 

任何幫助,請。

,而我的

回答

1

我可以看到活動的所有權利,但該選項卡不會出現。

當然不是。您沒有在CalendarViewActivity上添加任何標籤,部分原因是CalendarViewActivity只是一個常規的Activity

如果您認爲輕敲標籤上應東西裝入FragmentDemoActivity,那麼你不應該叫您TabListenerstartActivity()。相反,您應該執行FragmentTransaction或以其他方式修改FragmentDemoActivity的UI。

+0

是的,我得到了主意。我沒有正確讀取API。通過將我的Activity轉換爲Fragment來實現它。謝謝。 – nasaa