Я получаю два JSONArrays от веб-службы.
Первый JSONArray содержит 32 элемента.
Второй JSONArray содержит 7 элементов.
Мне нужно отфильтровать сначала JSONArray сравнивает некоторые значения из него с некоторыми значениями из второго JSONArray, а затем я хочу заполнить представление recycler с отфильтрованными элементами из первого JSONArray.
Фильтр должен выдавать только 5 из 32 элементов.
Текущий результат дает мне обзор переработчика с 32 предметами, 27 из них пусты, а остальные 5 показывают необходимые отфильтрованные элементы.
Способ, которым я пытаюсь получить отфильтрованные элементы использует два цикла.
Первый l oop включает в себя все элементы из первого JSONArray, и в каждом l oop я включил второй l oop со всеми элементами из второго JSONArray. Затем я создал два предложения if с условиями, которые должны фильтровать нужные элементы. Затем я добавляю отфильтрованные элементы в список, который должен заполнить представление реселлера.
Я уверен, что это не очень чистый метод фильтрации JSONArray в зависимости от значений второго JSONArray, но, очевидно, этот метод фильтрует первый JSONArray по мере необходимости. Проблема заключается в том, что я не могу заполнить представление переработчика полученными элементами.
Это то, что у меня есть сейчас:
public void JSON_PARSE_DATA_AFTER_WEBCALL_SEARCH(JSONArray array){
for(int i = 0; i<array.length(); i++) {
UsuariosBuscarAmigos GetDataAdapter2 = new UsuariosBuscarAmigos();
JSONObject json = null;
try {
json = array.getJSONObject(i);
//array de amigos
try {
String amigosArray = prefs.getString("amigosArray","");
JSONArray jsonArray=new JSONArray(amigosArray);
for (int j = 0; j < jsonArray.length(); j++) {
JSONObject amigos = jsonArray.getJSONObject(j);
String amigo_1 = amigos.getString("amigo_1");
String amigo_2 = amigos.getString("amigo_2");
String usuario_id = json.getString(GET_JSON_FROM_SERVER_01);
if (mi_id.equals(amigo_1) && usuario_id.equals(amigo_2) ){
GetDataAdapter2.setid(json.getString(GET_JSON_FROM_SERVER_01));
GetDataAdapter2.setusername(json.getString(GET_JSON_FROM_SERVER_02));
GetDataAdapter2.setprofile_image(json.getString(GET_JSON_FROM_SERVER_03));
GetDataAdapter2.setuser_type(json.getString(GET_JSON_FROM_SERVER_04));
GetDataAdapter2.setcity(json.getString(GET_JSON_FROM_SERVER_05));
GetDataAdapter2.setdeportes(json.getString(GET_JSON_FROM_SERVER_06));
GetDataAdapter2.setcountry(json.getString(GET_JSON_FROM_SERVER_07));
GetDataAdapter2.setabout(json.getString(GET_JSON_FROM_SERVER_08));
}
if (mi_id.equals(amigo_2) && usuario_id.equals(amigo_1)){
GetDataAdapter2.setid(json.getString(GET_JSON_FROM_SERVER_01));
GetDataAdapter2.setusername(json.getString(GET_JSON_FROM_SERVER_02));
GetDataAdapter2.setprofile_image(json.getString(GET_JSON_FROM_SERVER_03));
GetDataAdapter2.setuser_type(json.getString(GET_JSON_FROM_SERVER_04));
GetDataAdapter2.setcity(json.getString(GET_JSON_FROM_SERVER_05));
GetDataAdapter2.setdeportes(json.getString(GET_JSON_FROM_SERVER_06));
GetDataAdapter2.setcountry(json.getString(GET_JSON_FROM_SERVER_07));
GetDataAdapter2.setabout(json.getString(GET_JSON_FROM_SERVER_08));
}
}
} catch (JSONException e) {
e.printStackTrace();
}
} catch (JSONException e) {
e.printStackTrace();
}
subjectsList.add(GetDataAdapter2);
recyclerViewadapter = new RecyclerViewAmigosMiosBusquedaCardViewAdapter(subjectsList, getActivity());
}
recyclerViewPosts.setAdapter(recyclerViewadapter);
}
РЕДАКТИРОВАТЬ
Снимок экрана, показывающий часть элементов, включая один из 5 отфильтрованных элементов.
Журнал от субъектовList:
for(int i = 0; i<subjectsList.size(); i++) {
Log.d("subjectsList","subjectsList item#:"+i+">"+subjectsList.get(i).id+" "+subjectsList.get(i).username);
}
D/subjectsList: subjectsList item#:0>null null
D/subjectsList: subjectsList item#:1>null null
D/subjectsList: subjectsList item#:2>null null
D/subjectsList: subjectsList item#:3>72 anasimo
D/subjectsList: subjectsList item#:4>null null
D/subjectsList: subjectsList item#:5>null null
D/subjectsList: subjectsList item#:6>null null
D/subjectsList: subjectsList item#:7>null null
D/subjectsList: subjectsList item#:8>null null
D/subjectsList: subjectsList item#:9>null null
D/subjectsList: subjectsList item#:10>null null
D/subjectsList: subjectsList item#:11>null null
D/subjectsList: subjectsList item#:12>null null
D/subjectsList: subjectsList item#:13>null null
D/subjectsList: subjectsList item#:14>null null
D/subjectsList: subjectsList item#:15>null null
D/subjectsList: subjectsList item#:16>null null
D/subjectsList: subjectsList item#:17>null null
D/subjectsList: subjectsList item#:18>70 mov-map-TR
D/subjectsList: subjectsList item#:19>null null
D/subjectsList: subjectsList item#:20>null null
D/subjectsList: subjectsList item#:21>null null
D/subjectsList: subjectsList item#:22>null null
D/subjectsList: subjectsList item#:23>99 movmapgmail
D/subjectsList: subjectsList item#:24>null null
D/subjectsList: subjectsList item#:25>null null
D/subjectsList: subjectsList item#:26>null null
D/subjectsList: subjectsList item#:27>null null
D/subjectsList: subjectsList item#:28>null null
D/subjectsList: subjectsList item#:29>71 qweqweewq
D/subjectsList: subjectsList item#:30>null null
D/subjectsList: subjectsList item#:31>null null