我在TabPageIndicator中有4个标签,并希望第3个标签后的标签完全消失,即希望通过按某些其他控件来关注相应的片段,但它们的标签不应以任何方式显示。
我尝试修改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开始编号。
答案 0 :(得分:0)
对不起,这只是简单的愚蠢 - “第三次之后”没有转化为
if (index>3) {..}
标签从0开始编号,因此它应该是
if (index>2) {..}