-2

我通过这样的循环创建一个列表Item

private void addItemToList(ItemRepository lst)
{       
    //Add item to list
    for(Item itm:lst.getItems())
    {
        addItem(itm);
    }
}

private void addItem(Item itm)
{               
    View item =   UtilMPos.getViewFromInflater(R.layout.item,Payment_ListItem.this);
    TextView lblItemName = (TextView)item.findViewById(R.id.inv_lblitemname);
    TextView lblItemDes = (TextView)item.findViewById(R.id.inv_lblitemdesc);
    TextView lblPrice = (TextView)item.findViewById(R.id.inv_lblValueItem);

    //Set value for text view
    lblItemName.setText(itm.getItemName());
    lblItemDes.setText(itm.getItemDes());
    lblPrice.setText(Double.toString(itm.getPrice()));

    //----process component item in here
    llstItem.addView(item);             
}

然后显示(我使用线性布局来显示列表项):

------------------------------------------------------
item_name 1                               Price
item_descripton
------------------------------------------------------
item_name 2                              Price
item_descripton
------------------------------------------------------
item_name 3                               Price
item_descripton
------------------------------------------------------

单击一行时,将选择该行(粗体行或类似的内容),我可以获得该行的所有数据,例如:单击行 item_name 1 ,我得到所有数据行 1。

4

3 回答 3

1

创建一个标签对象并将 itemName、itemDesc、price 字段放入其中。最后这样做:

item.setTag(tagObjCreated);

当您单击项目并返回 OnClickListener() 中的视图时,访问标签如下:

tagObjRetrieved = itemView.getTag();

并取回您需要的 itemName、itemDesc、price 字段。

HTH。

于 2013-10-10T03:56:08.357 回答
0

我找到了解决方案。我使用了自定义列表视图,它工作正常,我解决了我所有的问题。

于 2013-10-10T13:42:08.983 回答
0

你知道“OnClickListener”吗?

样本:

public class Main extends Activity implements OnClickListener {

  ...
  View item = ...findViewById(...);
  item.SetOnClickListener(this);
 ....


  @Override
  public void onClick(View v) {

    switch (v.getId()) {
    case R.id.item_name1:
      // do something
      break;
    case R.id.item_name2:
      // do something
      break;
     }

  }


}

希望这可以帮助。

于 2013-10-10T03:49:32.627 回答