2011-06-20 86 views
3
public class SoapBox extends TabActivity{ 

    private TabHost tabHost; 

    private void setupTabhost() 
    { 
     tabHost=(TabHost)findViewById(android.R.id.tabhost); 
     tabHost.setup(); 
    } 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.tab); 

     TabHost tabHost=getTabHost(); 
     setupTabhost(); 
     tabHost.getTabWidget().setDividerDrawable(R.drawable.tab_space); 

     Intent intent1=new Intent().setClass(this, MySoapBox.class); 
     setupTab(new TextView(this), "My SoapBox", intent1); 
     Intent intent2=new Intent().setClass(this, FriendsSoapBox.class); 
     setupTab(new TextView(this),"Friends SoapBox", intent2); 
     Intent intent3=new Intent().setClass(this, Recommendations.class); 
     setupTab(new TextView(this),"Recommendations", intent3); 

     tabHost.setCurrentTab(0); 

    } 
    private void setupTab(final View view, final String tag, Intent intent) 
    { 
     View tabView=createTabView(tabHost.getContext(), tag); 
     TabSpec tabSpec=tabHost.newTabSpec(tag).setIndicator(tabView).setContent(intent); 
     tabHost.addTab(tabSpec); 
    } 
    private static View createTabView(final Context context,final String text) 
    { 
     View view= LayoutInflater.from(context).inflate(R.layout.tabs_bg,null); 
     TextView textView=(TextView)view.findViewById(R.id.tabsText); 
     textView.setText(text); 
     return view; 
    } 
} 

在這裏我有一個選項卡按鈕,我實現了一個嵌套的標籤控件,裏面多了一個標籤控件,當我轉換一個標籤到另一個,然後回來一個選項卡,然後我沒有專注於第一個標籤。的Android,如何設置第一個選項卡作爲默認選項卡始終

當我再次選擇父標籤時,嵌套選項卡的焦點應始終位於第一個選項卡上。 請指導我,我在哪裏犯我的代碼錯誤? 在此先感謝。

回答

23

setCurrentTab();屬性決定默認選項卡。
如果您使用tabHost.setCurrentTab(n);,那麼第n個標籤將成爲默認標籤。

相關問題