从onItemClickListener获取单击的视图

时间:2014-01-21 14:54:30

标签: android android-layout

我目前正在设计一个游戏商店,并且面临购买商品清单的问题:

我有 ListView 包含 RelativeLayouts 作为项目 - 每个 RelativeLayout 是两个内部的 RelativeLayouts ,其中其中的物品。

我想知道用户是否点击了item1或item2中的 BUY - 但我发现无法在 onItemClickListener 中获取此内容。 问题是,如果我使用 onClickListener 而不是 onItemClickListener ,我有项目(一个或两个),但不是行 - 所以我总是有行或者柱。

基本上,我需要从 onItemClickedListener 中获取实际点击的项目的ID - 我有什么方法可以做到这一点?

Sketch of Layout

3 个答案:

答案 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());