我做了很多困难。我设置了一个ListView
,当点击Item
时,手机就会开始拨打电话。
当我点击第一个ListView
项目时,拨号器会在短时间内显示标题First Item
,然后继续显示一系列随机数字,这与某些事情有关字符串value
。
基本上我想要的是在点击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);
}
});
答案 0 :(得分:1)
好的,如果你有position
,你可以将它用作数组内元素的索引
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);
}