我已经完成了最困难的部分。我设置了一个 ListView
,当单击 Item
时,手机就会开始调用电话。
当我点击第一个 ListView
项目时,拨号器会瞬间显示标题 First Item
,然后继续显示一系列随机数字,这与字符串值
有关。
本质上,我想要的是当我单击 ListView
中的特定项目时调用某个电话号码。
这可能吗?如果是这样,怎么办?
希望这是有道理的,如果需要任何进一步的说明,请告诉我。
ListView simpleList;
final String contactList[] = {"First Item", "Second Item", "Third Item"};
simpleList = (ListView)findViewById(R.id.contact_list);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, R.layout.activity_contact_list_view, R.id.textView, contactList);
simpleList.setAdapter(arrayAdapter);
simpleList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@SuppressLint("MissingPermission")
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String value = (String)parent.getItemAtPosition(position);
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:" + value));
startActivity(callIntent);
}
});
最佳答案
好的,如果您有位置
,您可以将其用作数组内元素的索引
final String contactList[] = {"First Item", "Second Item", "Third Item"};
final String phonesList[] = {"First Item", "Second Item", "Third Item"};
使用position
从数组中获取联系人:
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//String value = (String)parent.getItemAtPosition(position);
String contact = contactList[position];
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:" + phonesList[position])); //***
startActivity(callIntent);
}
关于java - 单击某些 ListView 项目时如何调用特定号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49543883/