如何使用点击列表视图项将值从一个活动传递到另一个活动

时间:2013-05-09 04:15:09

标签: android

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

  1. 我想在EditText中显示用户输入的数量,何时点按购物车中的商品

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

  3. 我在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));
    

1 个答案:

答案 0 :(得分:0)

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

在oncreate()

内的activity(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);