用不同的电话号码拨打电话的Android联系人列表
问题描述:
我在android studio中创建了一个联系人列表。列表中的每一项都包含名称,电话号码和图片。我想要做的事情是当我单击某个项目时,它会开始拨打它包含的电话号码。但我无法为每个项目设置不同的电话号码。我可以做的是解析一个静态数字,因此无论我点击哪个项目,都会调用该特定号码。我可以做那个?用不同的电话号码拨打电话的Android联系人列表
sazritListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:0000"));
startActivity(intent);
return true;
}
});
答
看起来像您使用的是ListView
,那么你可能已经实现你的Adapter
一个getView
方法。
所以一个setTag
行添加到您的getView
方法,它应该是这个样子:
View getView (int position, View convertView, ViewGroup parent) {
View view;
if (convertView != null) {
view = convertView;
} else {
view = inflater.inflate(...) // Inflate a new view
}
MyObject obj = getItem(position);
// set texts and images onto view
view.setTag(obj.phoneNumber); // Tag the view with the phone-number
}
然后在onItemLongClick
代码:
String phoneNumber = (String) view.getTag();
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:" + phoneNumber));
startActivity(intent);
return true;