2014-10-01 69 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

相关问题