我有两个String[]
,一个有姓名,另一个有电话号码。如果我从列表中选择一个名称,如何从对话框中拨打该人的电话号码。例如,第一个string[]
中的第一个人的电话号码为second[]
。如何获得这个号码?
package com.mkyong.android;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
public class ListFruitActivity extends ListActivity {
static final String[] Imena = new String[] { "Aleksandar Panic", "Dubravka Protic", "Milutin Panic",
"Jelica Panic", "Nemanja Gagic", "Doris Dragojevic", "Milica Protic", "Kiki Beba",
"Dule Savic", "Miroslav Miskovic", "Petar Djuric", "Dragoslav Joksimovic", "Petar Petrovic" };
static final String[] Brojevi=new String[] { "0638638045", "062450050", "065045324", "05443",
"06535475", "564218", "546567", "514574","5454333","444787","413133","354867","24879"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_fruit,
Imena));
ListView listView = getListView();
listView.setTextFilterEnabled(true);
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
AlertDialog.Builder adb=new AlertDialog.Builder(ListFruitActivity.this);
adb.setTitle("Odabir");
adb.setMessage("Izabrali ste profesora "+parent.getItemAtPosition(position));
adb.setPositiveButton("Call",new DialogInterface.OnClickListener() {
public void onClick (DialogInterface dialog, int which) {
Intent i=new Intent(android.content.Intent.ACTION_DIAL,
Uri.parse("tel:+651234567")); //here is the problem, how to get the right number
startActivity(i);
}
});
adb.show();
}
});
}
}
答案 0 :(得分:2)
为什么需要两个String[]
数组?
您有两种选择以更好的方式实现它:
Map<String, String>
将名称存储为密钥,将电话号码存储为值。Contact
来存储您的所有联系人详细信息,如姓名,地址,电话号码,电子邮件等,然后使用List<Contact>
或数组(推荐的方式)。