2013-06-24 60 views
-1

我在執行Android應用程序時遇到了障礙。我的問題是,我無法爲我的選項卡創建onTabListener。我有三個不同名稱的標籤。問題是他們都有相同的標籤數量。在我的代碼我跑這樣的:貨幣兌換在Android中不起作用

public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) { 
     int n = getActionBar().getTabCount(); 
     Toast.makeText(getApplicationContext(), "You have selected: " + n, Toast.LENGTH_LONG).show(); 
    } 

這使得舉杯說的標籤的值(例如:0,1,2,3),但所有的翼片具有相同的指示器。如果我的所有標籤都具有相同的指標,我無法創建onTabListener。這是我的完整代碼:

ActionBar.TabListener tabListener = new ActionBar.TabListener() { 
    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) { 
     int n = getActionBar().getTabCount(); 
     Toast.makeText(getApplicationContext(), "You have selected: " + n, Toast.LENGTH_LONG).show(); 
    } 

    public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) { 
     // hide the given tab 
    } 

    public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) { 
     // probably ignore this event 
    } 
}; 

// Add 3 tabs, specifying the tab's text and TabListener 
for (int i = 0; i < 3; i++) { 
    actionBar.addTab(
      actionBar.newTab() 
        .setText(tabTitle[i]) 
        .setTabListener(tabListener)); 
} 

問題是什麼?有沒有什麼辦法可以使用標籤的標題來創建onTabListener?任何對這個問題的幫助是非常感謝。

+0

你是什麼意思相同的指標是什麼意思? – tyczj

+0

我的意思是標籤數量。 – user2507301

+0

你所要做的就是得到你創造了多少個標籤......它告訴你什麼都沒有。 – tyczj

回答

0

所有你正在做的是讓你有卡數...

你需要做的tab.getPosition()得到什麼一個選擇

public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) { 
    int n = tab.getPosition(); 
    Toast.makeText(getApplicationContext(), "You have selected: " + n, Toast.LENGTH_LONG).show(); 
} 
+0

它不起作用 – user2507301

+0

問題是所有標籤的tabcount都是一樣的(全部都是3) – user2507301

+0

我不明白問題是什麼?如果你想知道的是你選擇的標籤,那麼獲取標籤的位置會告訴你。得到計數告訴你什麼,但你有多少標籤 – tyczj