【发布时间】:2014-01-15 12:12:30
【问题描述】:
我正在实现一个购物车 Android 应用程序,并在 ActionBar 上显示了一个自定义视图,该视图描述了其中没有商品的购物车。这在浏览产品和查看每个产品(显示在另一个活动中)时显示在操作栏上。从查看产品活动中,用户可以点击添加到购物车。单击将通过将数字增加 1 来更新自定义视图。
自定义视图是这样的:
但是现在当用户按下后退按钮时,它会转到上一个活动,并且操作栏上的自定义视图显示的是旧视图,其中项目数量较少。如何在按下后退按钮时更新操作栏的自定义视图
我的自定义视图是这样的:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/actionbar_cart_layout"
android:layout_width="70dp"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/actionbar_cart_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical"
android:src="@drawable/ic_actionbar_cart"
android:layout_alignParentRight="true"/>
<TextView
android:id="@+id/actionbar_cart_qty"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="right|center"
android:layout_marginLeft="19dp"
android:layout_marginTop="12dp"
android:layout_alignLeft="@+id/actionbar_cart_image"
android:text="0"
android:textColor="#000000"
android:textSize="14sp"
android:textStyle="bold" />
</RelativeLayout>
我正在处理这样的添加
LayoutInflater inflator = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflator.inflate(R.layout.menuitem_cart, null);
getSupportActionBar().setCustomView(view);
点击添加到购物车后,我会像这样更新视图
TextView cartQry = (TextView) view.findViewById(R.id.actionbar_cart_qty);
int count = ShoppingCart.getInstance().getTotalItems();
cartQry.setText(Integer.toString(count));
我正在使用最低 API 版本为 11 的 ActionBar Sherlock
【问题讨论】:
-
在您的活动的 onResume 方法中更新您的操作栏图标..
-
谢谢 - 它工作:)
标签: java android actionbarsherlock