Я работаю над приложением Android.
Существует обзор переработчика, который отображает пользовательские сообщения, и есть другой просмотр переработчика в адаптере из первого просмотра, который показывает ответы пользователей на сообщения.
Он работает, но не так, как я хочу.
Ответы, отображаемые на каждое сообщение, не всегда являются ответами, относящимися к сообщению.
Например, в сообщении № 3 показаны ответы на сообщение № 3, в сообщении № 2 показаны ответы на сообщения № 3 и № 2, в сообщении № 1 показаны ответы на сообщения № 3, № 2 и № 1.
После обновления представления это может быть по-разному, показанные ответы могут отличаться.
Это фрагмент кода внутри адаптера, который управляет откликом переработчика ответов;
//respuestas
holder.recyclerViewPosts.setHasFixedSize(true);
holder.recyclerViewlayoutManager = new LinearLayoutManager(context);
holder.recyclerViewPosts.setLayoutManager(holder.recyclerViewlayoutManager);
subjectsList = new ArrayList<>();
AsyncHttpClient client = new AsyncHttpClient();
RequestParams params = new RequestParams();
params.put("origen", subjects.get(position).id_mensaje_chat);
params.put("rnd", getSaltString());
client.get(HTTP_JSON_URL, params, new TextHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, String res) {
// called when response HTTP status is "200 OK"
Log.d("RES SUVJETC","respuesta chat "+res);
try {
JSONArray jsonArray = new JSONArray(res);
for(int i = 0; i<jsonArray.length(); i++) {
MensajesRespuestaChat GetDataAdapter2 = new MensajesRespuestaChat();
JSONObject json = null;
try {
json = jsonArray.getJSONObject(i);
GetDataAdapter2.setid_respuesta(json.getString("id_respuesta"));
GetDataAdapter2.setemisor(json.getString("emisor"));
GetDataAdapter2.settexto(json.getString("texto"));
GetDataAdapter2.setfecha(json.getString("fecha"));
GetDataAdapter2.setorigen(json.getString("origen"));
GetDataAdapter2.setnombre(json.getString("nombre"));
GetDataAdapter2.setapellidos(json.getString("apellidos"));
} catch (JSONException e) {
e.printStackTrace();
}
subjectsList.add(GetDataAdapter2);
}
recyclerViewadapter = new RecyclerViewChatRespuestaCardViewAdapter(subjectsList, context);
holder.recyclerViewPosts.setAdapter(recyclerViewadapter);
Integer num_mensajes = subjectsList.size();
if (num_mensajes == 0){
}
if (num_mensajes > 0){
}
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(int statusCode, Header[] headers, String res, Throwable t) {
// called when response HTTP status is "4XX" (eg. 401, 403, 404)
}
}
);
Может быть Вы можете найти причину этой проблемы там.
Если вам нужны дополнительные фрагменты кода, я могу разместить их здесь, без проблем.