android类似用户最新消息的小图标提醒功能

原文:http://blog.sina.com.cn/s/blog_6dc41baf0101625q.html

今天在公司做一个小项目:当前自己手机本地资源文件中购物车中有多少个商品类型的数量在界面提示,并且在用户添加一些商品到购物车之后更新购物车中的显示信息。如图类似的功能。实现的过程比较简单,主要看你怎么去想。之前我走的弯路不少。

 

首先是图片的处理,把一个小图片显示在购物车上,我之前的思路一直是想把这个图片放到按钮的边上,后来成功了,却遇到一个新的问题,怎么在上面添加数据了?后来换了一个思路:我直接就使用一个TextView把那个图片设置为背景图片,果然想要的效果达到了。

具体的布局文件如下:

复制代码
<RelativeLayout android:layout_width="0dip" android:layout_height="wrap_content"android:layout_weight="1" > <Button android:id="@+id/shopping_cart"style="@style/wishlist_button" android:layout_width="fill_parent"android:layout_height="wrap_content" android:ellipsize="marquee"android:singleLine="true" android:text="@string/shopping_cart" > </Button> <TextView android:id="@+id/shopping_count" android:layout_width="15dip"android:layout_height="15dip" android:layout_alignParentTop="true"android:layout_marginLeft="33dip" android:background="@drawable/tab_unread_bg"android:gravity="center" android:textColor="#FFFFFF" android:textSize="10dip"android:textStyle="bold" /> </RelativeLayout>
复制代码

 

在过程中越到一个问题就是:每当我点击主页的时候,购物车上面的数据总是回复最初始进入程序的数据:仔细看了一下代码,发现在整个项目中跳转之间只有MainAtivity.java是不会finish的,所以在主页面的时候购物车上的数据是不能更新的,我解决的办法是重写Onresume()方法,在里面添加更新数据的方法。修改如下

复制代码
@Override protected void onResume() { //显示购物车的数据:为什么会在OnResume中写这个方法了, //(因为MainActivity是不会finish的页面上的数据不会跟新我们需要在它暂停之后更新购物车上的数字) shoppingIsHaveData(); super.onResume(); }
复制代码

 

为了方便同样的方法的重复使用,我们把一些用的很多的方法写到了,BaseActivity中去,BaseAtivity是我们写的一个类集成Activity,以后我们使用的所有activity全部要继承BaseActivity,那么定义在BaseActivitY中的方法就可以使用了。下面是在BaseActivity中的判断购物车中是否有数据方法:

复制代码
public void shoppingIsHaveData() { MyCardService mycardservice new MyCardService(); ArrayList<MyCard> localeCartList = mycardservice.selectMenusList(this"_id desc");
//自定义查询方法selectMenusList();
if (localeCartList.size() >= 1) { shopping_count = localeCartList.size() + ""; setShoppinCount(); } else return; } }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值