tabs-如何更新tab中的badge值

问题描述

如何更新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

tabs-如何更新tab中的badge值的相关文章

在更新新闻中,用DropDownList获取数据库NewsKind字段的值 ASP.NET 2.0 C#

问题描述 在更新新闻中,用DropDownList获取数据库NewsKind字段的值,获得的值不正确,出现错位.在数据库中是国内新闻,而获取后显示为国外新闻.UpdateNews.aspx.cs的代码:protectedvoidPage_Load(objectsender,EventArgse){if(!this.IsPostBack){BindData();}}publicvoidBindNewsKind(){this.DropNewsKinds.DataSource=NewsKinds.Ge

温故而知新:WinForm/Silverlight多线程编程中如何更新UI控件的值

单线程的winfom程序中,设置一个控件的值是很easy的事情,直接 this.TextBox1.value = "Hello World!";就搞定了,但是如果在一个新线程中这么做,比如: private void btnSet_Click(object sender, EventArgs e){        Thread t = new Thread(new ParameterizedThreadStart(SetTextBoxValue));    //当然也可以用匿名委托写成

jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明_jquery

作者: think8848(公司主页: http://www.cleversoft.com, QQ: 166156888, Blog: http://think8848.cnblogs.com)  转载请保留此信息 CleverTabs是一款jQuery插件,所需jQuery版本:1.6.1,jQuery UI样式版本:1.8.13:其功能为创建jQuery UI风格的Tab用于显示iframe. 本示例中符加了jQuery.contextMenu插件,我修改了其样式,使用了jQuery UI的

Mysql两种情况下更新字段中部分数据的方法_Mysql

Mysql更新字段中部分数据第一种情况:  复制代码 代码如下: update tab set A = concat(substring(A,1,3),'bbb'); 从A的1个字符开始取3个字符,加上'bbb',再写入a中,如果A原始值为'123aaa',那么更新之后为'123bbb'了. 如果我们要将字段A值中的包含的1,替换成2呢? 例如:a=2211,现在要替换成2222,就是把1换成2 SQl语句这么写: 复制代码 代码如下: update table set a=REPLACE(a,

更新MFC中的视图,跟踪.NET Framework中的事件

本文配套源码 如何更新MFC中的视图? 如何跟踪.NET Framework 中的事件? 我在 MDI 程序中打算通过 CMainFrame 中的定时器事件来更新所有的子窗口. 视图用于显示许多图表.用如下的代码只能更新当前活动窗口: GetActiveWindow()->GetActiveView()->GetDocument() 是否有其它的方法从 CMDIFrame 类中获得所有的子窗口或者所有的文档? Makarand 你的情况并不罕见.许多采集实时数据的程序需要定时更新屏幕.即使你的

MySQL中的NULL值相关问题

对于SQL的新手,NULL值的概念常常会造成混淆,他们常认为NULL是与空字符串''相同的事.情况并非 如此.例如,下述语句是完全不同的: mysql> INSERT INTO my_table (phone) VALUES (NULL); mysql> INSERT INTO my_table (phone) VALUES (''); 这两条语句均会将值插入phone(电话)列,但第1条语句插入的是NULL值,第2条语句插入的是空字符串 .第1种情况的含义可被解释为"电话号码未知&

MySQL数据库中与 NULL值有关的几个问题

  对于SQL的新手,NULL值的概念常常会造成混淆,他们常认为NULL是与空字符串''相同的事.情况并非如此.例如,下述语句是完全不同的: mysql> INSERT INTO my_table (phone) VALUES (NULL); mysql> INSERT INTO my_table (phone) VALUES (''); 这两条语句均会将值插入phone(电话)列,但第1条语句插入的是NULL值,第2条语句插入的是空字符串.第1种情况的含义可被解释为"电话号码未知&

jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法_jquery

本文实例讲述了jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法.分享给大家供大家参考,具体如下: 我们在使用EasyUI Tabs框架时,在框架最顶层的弹出窗体中需要操作当前Tab的iframe窗体内容或方法,这时候我们就可以使用以下方法来实现. 具体实现代码如下所示: function getTabWindow() { var curTabWin = null; var curTab = parent.$('#main-center').tabs('getSelected

求如何得到datagrid中DropDownList的值!代码如下

问题描述 <asp:datagridid="DataGrid1"runat="server"Height="1em"Width="100%"AllowSorting="True"OnPageIndexChanged="DataGrid1_PageIndexChanged"PageSize="25"AllowPaging="True"DataK