在TabLayout选项卡图标中更改徽章计数

时间:2016-03-16 10:45:16

标签: android android-tablayout

我有一个带有多个标签的标签布局。其中一个在选项卡图标上显示一个数字作为徽章。 因此,当标签托管活动收到一个事件,告诉它更新此通知计数时,我这样做:

@Override
public void updateNotif(int notifCount) {
    View view = LayoutInflater.from(this).inflate(R.layout.badge_layout_workspace_count, null);
    TextView badgeTv = (TextView) view.findViewById(R.id.badge);
    badgeTv.setText(String.valueOf(notifCount));

    view.setDrawingCacheEnabled(true);
    view.buildDrawingCache();
    mTabLayout.getTabAt(PAGE_NOTIFS).setIcon(new BitmapDrawable(getResources(), view.getDrawingCache()));
}

布局badge_layout_workspace_count只是RelativeLayoutImageView(图标)和TextView(通知计数)

此代码不会导致崩溃,但不会显示任何内容。

对我做错了什么的想法?

好吧,我刚刚使用了setCustomView而不是setIcon,它现在运行正常:

    View view = LayoutInflater.from(this).inflate(R.layout.badge_layout_workspace_count, null);
    TextView badgeTv = (TextView) view.findViewById(R.id.badge);
    badgeTv.setText(String.valueOf(notifCount));
    mTabLayout.getTabAt(PAGE_NOTIFS).setCustomView(view);

0 个答案:

没有答案