0

我在 TabPageIndicator 中有 4 个选项卡,并且希望第三个选项卡之后的选项卡完全消失,即希望通过按下其他一些控件来关注相应的片段,但它们的选项卡不应该以任何方式可见。我尝试addTab如下修改,但似乎没有帮助:

private void addTab(int index, CharSequence text, int iconResId) {
    final TabView tabView = new TabView(getContext());
    tabView.mIndex = index;
    tabView.setFocusable(true);
    tabView.setOnClickListener(mTabClickListener);
    tabView.setText(text);

    if (iconResId != 0) {
        tabView.setCompoundDrawablesWithIntrinsicBounds(0, iconResId, 0, 0);
    }

    if (index>3) 
    {   
        tabView.setVisibility(View.GONE);
        mTabLayout.addView(tabView, new LinearLayout.LayoutParams(0,
                0, 0));
    } else
    mTabLayout.addView(tabView, new LinearLayout.LayoutParams(0,
            MATCH_PARENT, 1));
}

更新: 发现这个愚蠢的错误:

if (index>3) 

应该

if (index>2) 

因为选项卡从 0 开始编号,而不是从 1 开始。

4

1 回答 1

0

抱歉,这只是愚蠢的-“第三个之后”并不能转化为

   if (index>3) {..}

标签从 0 开始索引,所以它应该是

   if (index>2) {..}
于 2013-08-01T06:23:14.720 回答