Android--listview中每个item有多个控件的点击方法

来源:互联网 发布:知乎 杭州电子科技大学 编辑:程序博客网 时间:2024/05/17 13:14
有时候listview中item是由多个控件组成的,如果要分别获取每个组件的点击事件,需要在adapter中getview方法中位每个控件设置tag,tag值为position,然后在onclick方法中判断tag即可;示例如下:
//为组件设置tag,方面判断点击的position
tv_market_homepage_category.setTag(position);
tv_market_homepage_product1.setTag(position);
tv_market_homepage_product2.setTag(position);

tv_market_homepage_category.setOnClickListener(this);
tv_market_homepage_product1.setOnClickListener(this);
tv_market_homepage_product2.setOnClickListener(this);


@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.tv_market_homepage_category:
num =Integer.parseInt(v.getTag().toString());
break;

case R.id.tv_market_homepage_product1:
num =Integer.parseInt(v.getTag().toString());
break;
case R.id.tv_market_homepage_product2:
num =Integer.parseInt(v.getTag().toString());
break;
}
}
上面那部分代码是getview方法里的一部分,三个textview分别设置tag,然后在onclick方法中判断即可;
ps:如果为item中控件设置了clicklistener,那么会屏蔽listview的onItemClickListener()方法
0 0