我现在有个listview列表 比如有10条数据,再listview 最右边有个图片实现点击事件并活动电话号码拨打电话的功能。
这个过程是再adapter里面操作的。
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
ViewHolder viewHolder;
if(view==null){
layoutInflater=LayoutInflater.from(context);//实例化
viewHolder=new ViewHolder();
view=layoutInflater.inflate(R.layout.friendsadaper_layout,null);
viewHolder.head_card= (ImageView) view.findViewById(R.id.head_card);
viewHolder.card_name= (TextView) view.findViewById(R.id.card_name);
viewHolder.card_company_name= (TextView) view.findViewById(R.id.card_company_name);
viewHolder.phone_c= (ImageView) view.findViewById(R.id.phone_c);
viewHolder.phone_c.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int potion= (int) v.getTag();//根据potion这一行的位置
BusinessCard businessCard=data.get(potion);//根据potion这一行的位置取出businessCard对象,通过对象来获取电话号码
String mobile=businessCard.getMobile();
Intent intent_phone = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+mobile));
context.startActivity(intent_phone);
//Toast.makeText(context,"拨打电话", Toast.LENGTH_SHORT).show();
}
});
view.setTag(viewHolder);//绑定ViewHolder对象
}else {
viewHolder = (ViewHolder) view.getTag();
}
//
viewHolder.card_name.setText(data.get(i).getName());//姓名 昵称
viewHolder.card_company_name.setText(data.get(i).getCompany());//公司名称
String headimg=data.get(i).getHeadImg();
Glide.with(context).load(ConstantUitls.REQUEDT_IMG_URL +headimg).into(viewHolder.head_card);
viewHolder.phone_c.setTag(i);//设置把这个控件取出来
// BusinessCard card= (BusinessCard) getItem(i);
//viewHolder.card_name.setText(carList.get(i));
// viewHolder.friend_cellphone.setText(card.getAddress());
return view;
}