JAVA中想实现HashMap相反,能键名相同值不同?(解决相同姓名不同电话,有一电话就有一条列表) 5
关键代码:(请指教)ArrayList<HashMap<String,Object>>listItem=newArrayList<HashMap<String,Objec...
关键代码:(请指教)
ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>();
....
map.put("ItemTitle", phoneName);
Cursor phones = getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, null, null);
while (phones.moveToNext()) {
String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
String phoneTpye = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));
map.put("ItemText", phoneNumber);
listItem.add(map);// 在循环内部(多个号码处理),但是显示的都 是一样的姓名与号码,被覆盖了
Log.d(TAG,"phoneName:"+phoneName+ "testNum=" + phoneNumber + "type:" + phoneTpye);
}..... 展开
ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>();
....
map.put("ItemTitle", phoneName);
Cursor phones = getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, null, null);
while (phones.moveToNext()) {
String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
String phoneTpye = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));
map.put("ItemText", phoneNumber);
listItem.add(map);// 在循环内部(多个号码处理),但是显示的都 是一样的姓名与号码,被覆盖了
Log.d(TAG,"phoneName:"+phoneName+ "testNum=" + phoneNumber + "type:" + phoneTpye);
}..... 展开
2个回答
展开全部
HashMap 不能实现键值相同的,你可以把电话号码和人名换一下,让电话号码作为键值就可以了呀。反正电话号码是不可以重复的。
更多追问追答
追问
好办法呀,我还真笨。谢谢
追答
再把我的回答设为推荐答案哦。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询