点击ListView
项目后,我已成功允许我的应用程序拨打号码(在本例中为123)。但是,我有三个ListView
项,我希望它们都能拨打单独的数字。例如:
项目1:123
项目2:321
项目3:231
目前,他们都拨打了123号电话。
任何有关区分ListItems
的帮助都将不胜感激。
ListView simpleList;
String contactList[] = {"X", "Y", "Z"};
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:123"));
startActivity(callIntent);
}
});
答案 0 :(得分:1)
看起来好像你正在将值传递给你的意图硬编码为callIntent.setData(Uri.parse("tel:123"));
这当然会提供相同的电话号码。内置活动从此意图启动后,它将通过我们作为程序员的方式提取数据。
String telephoneNumber = getIntent().getExtraString("Telephony")
活动意图收到的字符串是您在callIntent.setData()
内分配的字符串。因此,为了向拨号器提供合适的电话号码,您需要在那里设置相应的字符串。我不确定你如何设置关于电话号码的contactList。但是,一旦你知道你的联系方式,你所要做的就是获取他们的电话号码并在此处分配:
callIntent.setData(Uri.parse("tel:" + telephoneNumber));