2

我正在编写一个应用程序,我试图允许用户通过点击列表视图中的项目来编辑购物车中已有项目的数量

  1. 我想在 EditText 中显示用户输入的数量,何时点击购物车中的项目

  2. 我如何显示一个项目的描述,什么时候点击购物车中的一个项目[比如:我仍然只是得到描述词,没有得到我在屏幕编号中显示的项目的描述:2]

我在 CartAdapter.java 的 getView() 方法中使用以下代码:

    public static final String KEY_TITLE = "title";
public static final String KEY_COST = "cost";
public static final String KEY_TOTAL = "total";
public static final String KEY_QTY = "qty";
public static final String KEY_DESCRIPTION = "description";
public static final String KEY_THUMB_URL = "imageUri";


  public View getView(final int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    View vi = convertView;
    if (convertView == null)
        vi = myinflater.inflate(R.layout.listrow_cart_edit, null);
        vi.setClickable(true);
        vi.setFocusable(true);          

        vi.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) 
        {   

            HashMap<String, String> item = Session.item_data.get(position);
            Intent intent= new Intent(myactivity, com.easy.shoppingcart.SingleItem.class);

            intent.putExtra(KEY_TITLE,  item.get(com.easy.shoppingcart.SingleItem.KEY_TITLE));
            intent.putExtra(KEY_COST, item.get(com.easy.shoppingcart.SingleItem.KEY_COST));
            intent.putExtra(KEY_TOTAL, item.get(com.easy.shoppingcart.SingleItem.KEY_TOTAL));
            intent.putExtra(KEY_QTY, item.get(com.easy.shoppingcart.SingleItem.KEY_QTY));
            intent.putExtra(KEY_DESCRIPTION, (com.easy.shoppingcart.SingleItem.KEY_DESCRIPTION));
            intent.putExtra(KEY_THUMB_URL, com.easy.shoppingcart.SingleItem.KEY_THUMB_URL);
            myactivity.startActivity(intent);

        }       
    }); 

注意:要获得项目的描述,我也尝试使用下面的代码,但没有成功,我知道这里需要做的更改非常小,但我真的不知道那是什么更改:

   intent.putExtra(KEY_DESCRIPTION, item.get(com.easy.shoppingcart.SingleItem.KEY_DESCRIPTION));
4

1 回答 1

0
Intent intent= new Intent(myactivity, com.easy.shoppingcart.SingleItem.class);
intent.putExtra("position", position);
startActivity(intent);

在 oncreate() 内活动(SingleItem)的另一边

int position;
if(this.getIntent().getExtras() != null) {
                Bundle bundle = this.getIntent().getExtras();
                            position = Integer.parseInt(bundle.getString("position"));

    }

使用此位置获取值。

HashMap<String, String> item = Session.item_data.get(position);
于 2013-05-09T07:20:43.583 回答