2014-10-01 112 views
0

我想填充我的應用程序中的操作欄中的選項卡。我正在使用下面的代碼。爲什麼文本不顯示在操作欄選項卡中?

protected void onCreate(Bundle savedInstanceState) { 
    getWindow().requestFeature(Window.FEATURE_INDETERMINATE_PROGRESS); 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_word_list); 

    ActionBar bar = getActionBar(); 
    bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

    for (char letter = 'A'; letter <= 'Z'; letter++){ 
     String text = String.valueOf(letter); 
     bar.addTab(bar.newTab().setText(text).setTabListener(this).setTag(text)); 
    } 

問題是,在最後一個選項卡上,Z不顯示出來。 (我沒有足夠的信譽來發布屏幕蓋)

我可以觸摸標籤並檢測觸摸,但文本不顯示。

這是怎麼回事?

這裏是與屏幕蓋

http://imgur.com/yUmooMj

+0

「我沒有足夠的信譽來發布屏幕截圖」 - 然後將圖片發佈到其他地方,並從這裏鏈接到它。除此之外,請注意,「L」開發人員預覽版中不推薦使用操作欄選項卡,並且應該在下一個Android版生產版本中保持不推薦使用。 – CommonsWare 2014-10-01 18:48:16

+1

哇。二十六個導航標籤?你可能想重新考慮你的UI設計。 – 2014-10-01 18:49:51

+0

@TedHopp我正在研究一個和諧的應用程序。你看到每個字母的每個字母都有一個標籤,然後跳到以該字母開頭的第一個單詞時,該標籤被按下時會出現什麼問題? – RDG 2014-10-01 21:43:10

回答

0

這只是一個建議一個網址,但在循環中像下面,你可以添加一個if語句,看看會發生什麼:

for (char letter = 'A'; letter <= 'Z'; letter++){ 
    String text = String.valueOf(letter); 
    If(letter == 'Y'){ 
     text.setText('Z'); 
    } 
    bar.addTab(bar.newTab().setText(text).setTabListener(this).setTag(text)); 

} 

PS:我不知道這是否可行,但我很好奇如何編程會對它做出反應。我想發表評論,但沒有足夠的聲望。

+0

這不是有效的代碼,但我想我明白你想要做什麼。它只在Y應該打印字母Z。空白選項卡仍位於所有選項卡的末尾。此代碼遵循您的建議。 if(letter =='Y'){ text =「Z」; } – RDG 2014-10-01 21:55:55

相關問題