我目前正在设计一个游戏商店,并且面临购买商品清单的问题:
我有 ListView 包含 RelativeLayouts 作为项目 - 每个 RelativeLayout 是两个内部的 RelativeLayouts ,其中其中的物品。
我想知道用户是否点击了item1或item2中的 BUY - 但我发现无法在 onItemClickListener 中获取此内容。 问题是,如果我使用 onClickListener 而不是 onItemClickListener ,我有项目(一个或两个),但不是行 - 所以我总是有行或者柱。
基本上,我需要从 onItemClickedListener 中获取实际点击的项目的ID - 我有什么方法可以做到这一点?
答案 0 :(得分:3)
在适配器的 getView()中为按钮添加标签(button.setTag(position)),然后在onClickListener中调用view.getTag()以检索索引
答案 1 :(得分:0)
你应该将onClickListner添加到你的Child RelativeLayouts.Do从你的适配器getView方法。
答案 2 :(得分:0)
您将onClickListener
设置为您的购买按钮。在购买按钮上,您可以附加位置标记并使用onClick
方法进行检索。
内部getView()
btnBuy.setOnClickListener(this);
btnBuy.setTag(position);
onClick
方法中的
int position=Integer.parseInt(view.getTag().toString());