としてグローバルに定義された ArrayList がありArrayList<Map<String, String>> mContactList;
ます。
現在、メソッドの 1 つで、次のように HashMap を定義しています。
Map<String, String> NamePhoneType = new HashMap<String, String>();
NamePhoneType.put("Name", contactName); //contactName is returned from a query
NamePhoneType.put("Phone", phoneNumber); //phoneNumber is returned from a query
mContactList.add(NamePhoneType);
だからmContactList
今のように見える[{Name=Abc, Phone=123}, {Name=def, Phone=456}...]
以下を使用して反復処理を試みると、インデックスに応じてキーと値mContactList
を常に取得します。'Phone'
'123'
'456'
public void onItemClick(AdapterView<?> av, View v, int index,long arg) {
Map<String, String> map = (Map<String, String>) av.getItemAtPosition(index);
Iterator<String> myVeryOwnIterator = map.keySet().iterator();
while (myVeryOwnIterator.hasNext()) {
String key = (String) myVeryOwnIterator.next();
String value = (String) map.get(key);
getNumber.setText(value);
}
}
});
選択したインデックスの と を 2 つの別々の文字列に分けName
たい。Phone
それ、どうやったら出来るの?