Recyclerview в другом адаптереviewler не показывает элементы, связанные с элементом - PullRequest
1 голос
/ 24 февраля 2020

Я работаю над приложением 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)
                       }
                 }
          );

Может быть Вы можете найти причину этой проблемы там.

Если вам нужны дополнительные фрагменты кода, я могу разместить их здесь, без проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...