我从服务器获得JSON Array
,该服务器包含使用我的应用的用户手机上的部分手机通讯录。我希望这些电话号码以ListView
'Already a contact'
显示给用户。
名为JSON Array
的{{1}}可能是,例如:
JsonArrayMatchingContacts
这是我的代码,但它不起作用。它适用于单个值 - 例如,如果我[{"contact_phonenumber":"+12345678"},{"contact_phonenumber":"+23456789},
{"contact_phonenumber":"+34567890"}]
它会提出if (phoneNumberofContact.equals("+12345678")) etc..
,但我需要让它适用于我的Already a Contact
。你能帮忙吗?
JSON Array
答案 0 :(得分:1)
put your if condition in loop..you will get it.try this
SelectPhoneContact selectContact = new SelectPhoneContact();
ArrayList<String> MatchingContacts = new ArrayList<String>();
try {
JSONArray Object = new JSONArray(JsonArrayMatchingContacts);
for (int x = 0; x < Object.length(); x++) {
final JSONObject obj = Object.getJSONObject(x);
if (phoneNumberofContact.equals(MatchingContacts))
{
phoneNumberofContact= "Already a contact";
selectPhoneContacts.add(selectContact);
} else {
selectPhoneContacts.add(selectContact);
}
}
} catch(Exception e) {
e.printStackTrace();
}
selectContact.setName(name);
selectContact.setPhone(phoneNumberofContact);
答案 1 :(得分:1)
您正在比较字符串(phoneNumberofContact)和列表(MatchingContacts)。
您应该检查字符串是否包含在列表中。
if (MatchingContacts.contains( phoneNumberofContact )) {