我有一个列表视图,其中包含价格的项目。我的列表视图还有一个删除按钮。我还在布局的底部有一个textview,它不是listview的一部分,它显示了总金额。我可以从列表视图中成功删除该项目。我想要的是,当项目被删除时,总金额也会改变。
这是我的适配器的一部分,我必须做一些动作
holder.del.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
remove(getItem(position));
}
});
这是我的活动,其中找到了我的文本数量视图。
public class Cart extends MainActivity {
TextView amount_total;
ListView cartList;
CartCustomAdapter cartCustomAdapter;
String name, price;
static ArrayList<Order> cartArray = new ArrayList<Order>();
static Double total_amount = 0.00d;
static Double temp = 0.00d;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cart);
amount_total = (TextView) findViewById(R.id.total_tv);
Bundle bundle = getIntent().getExtras();
Button checkout = (Button) findViewById(R.id.check_out);
Button add_item = (Button) findViewById(R.id.add_item);
name = bundle.getString("i_name");
price = bundle.getString("i_price");
temp = Double.parseDouble(price);
total_amount = (total_amount + temp);
amount_total.setText("Php" + total_amount.toString());
add_item.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Cart.this,MainActivity.class);
startActivity(intent);
}
});
cartList = (ListView) findViewById(R.id.cart_list);
cartCustomAdapter = new CartCustomAdapter(Cart.this,R.layout.list_cart,cartArray);
cartList.setItemsCanFocus(false);
cartList.setAdapter(cartCustomAdapter);
cartArray.add(new Order(name,price,"1"));
cartCustomAdapter.notifyDataSetChanged();
}
}
答案 0 :(得分:0)
使用以下方法定义界面,以更新活动中的文本视图:
updateDeletedItemCount();
并在此方法中取整数并增加其计数,如
deletedCount++;
然后在文本视图上更新它
tvDeletedCount.setText("Deleted Item Count : "+ deletedCount);
答案 1 :(得分:0)
这是最简单的方法:
//Add a method to your Cart
public void changeTotal(int totalPrice){
if(textView != null) // set total price
}
// Call after remove an item in your listener:
if(getContext() instanceOf Cart){
((Cart)getContext()).changeTotal(newTotalPrice);
}
这不是最好的方法,但我认为现在还可以:)