我有一个带有多个标签的标签布局。其中一个在选项卡图标上显示一个数字作为徽章。 因此,当标签托管活动收到一个事件,告诉它更新此通知计数时,我这样做:
@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
只是RelativeLayout
,ImageView
(图标)和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);