我通过这样的循环创建列表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);
}
然后显示(我使用linearlayout显示列表项):
------------------------------------------------------
item_name 1 Price
item_descripton
------------------------------------------------------
item_name 2 Price
item_descripton
------------------------------------------------------
item_name 3 Price
item_descripton
------------------------------------------------------
单击一行时,将选择该行(粗体行或类似的行),我可以获取该行的所有数据,例如:单击行item_name 1,我得到所有数据行1.
答案 0 :(得分:1)
创建一个标记对象并将itemName,itemDesc,price字段放入其中。 最后这样做:
item.setTag(tagObjCreated);
当您单击该项并返回OnClickListener()中的视图时,请访问以下标记:
tagObjRetrieved = itemView.getTag();
并取回您需要的itemName,itemDesc,价格字段。
HTH。
答案 1 :(得分: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;
}
}
}
希望这有帮助。
答案 2 :(得分:0)
我找到了解决方案。我使用自定义列表视图,它工作正常,我解决了所有问题。