1. 程式人生 > >Android--listview中每個item有多個控制元件的點選方法

Android--listview中每個item有多個控制元件的點選方法

有時候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()方法