您有一个包含项目的列表
Constants.sItem_Detail
它是静态的和公共的,因此可以从任何地方的所有类访问。
当您在 CartActivity 中时,ProductInformationActivity 将被暂停、停止或销毁。它没有显示,所以你不能更新它的视图元素,或者至少你不应该这样做。
在 CartActivity 中你有 TextWatcher,在 onTextChanged 方法中将 Constants.sItem_Detail 中的值更新为新值,在 ProductInformationActivity 中你得到它并在 onResume 方法中的 EditText 中设置它。
HashMap<String, String> item = new HashMap<String, String>();
item = Constants.sItem_Detail.get(position);
// Setting all values in listview
title.setText(item.get(com.era.restaurant.versionoct.menu.ProductInformationActivity.KEY_TITLE));
qty.setText(item.get(com.era.restaurant.versionoct.menu.ProductInformationActivity.KEY_QTY));
cost.setText(item.get(com.era.restaurant.versionoct.menu.ProductInformationActivity.KEY_COST));
total.setText(item.get(com.era.restaurant.versionoct.menu.ProductInformationActivity.KEY_TOTAL));
qty.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (!qty.getText().toString().equals("")
|| !qty.getText().toString().equals("")) {
// accept quantity by user
itemquantity = Integer.parseInt(qty.getText()
.toString());
//here You update value, You have item variable with current item
item.put(KEY_QTY, itemquantity);
//all object are always passed by reference so that is enough to update it
}
}
在 onResume
@Override
public void onResume()
{
super.onResume();
//get item to display
HashMap<String, String> item = new HashMap<String, String>();
item = Constants.sItem_Detail.get(id); //i don't know how You identify items, but here You need to get correct item from list.
edit_qty_code.setText(item.get(KEY_QTY));
}