问题描述
- 如何更新tab中的badge值
-
程序中有tabbar中有5个tab。在四个tab中都添加了badge。现在需要在一些操作只需后,更新badge的值。并且更新来自其他的activity。下面是tabbar中添加badge的部分代码:TabWidget tabs = (TabWidget) findViewById(android.R.id.tabs); badge = new BadgeView(context, tabs, 3); badge.setTextSize(12); badge.setBadgePosition(BadgeView.POSITION_TOP_RIGHT); badge.setText(pref.getString("balance", "0")); badge.toggle();
多谢。
解决方案
在TabActivity中创建静态TabWidget对象:
public static TabWidget tabs;
在执行操作后从其他activity中访问tab对象,更新SharedPreferences
在其他的 Activity中使用下面代码:
TabWidget tabs = TabActivity.tabs;
badge = new BadgeView(context, tabs, 3);
badge.setTextSize(12);
badge.setBadgePosition(BadgeView.POSITION_TOP_RIGHT);
badge.setText(pref.getString("balance", "0"));
badge.toggle();
解决方案二:
安卓中使用静态变量是不安全的,当程序从内存警告中恢复时不能保证静态变量一定存在,正常情况下是使用消息通知,用静态变量的话至少要判断一下是否为空。
时间: 2024-09-07 10:55:21