android - 另一个 recyclerview 适配器中的 Recyclerview 未显示与项目相关的项目
问题描述
我正在开发一个 Android 应用程序。
有一个 recyclerview 显示用户消息,适配器中有另一个 recyclerview 从第一个 recyclerview 显示用户对消息的响应。
它正在工作,但不是我想要的。
每条消息中显示的响应并不总是与该消息相关的响应。
例如,在消息 #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)
}
}
);
也许您可以在那里找到该问题的原因。
如果你需要更多的代码,我可以把它们放在这里,没问题。
解决方案
推荐阅读
- ios - progressHandler 与 PHContentEditingInputRequestOptions 的使用
- image - 将 2 个 PNG 叠加在一起的批处理命令
- mysql - 通过 Laravel 中的下拉列表过滤表单
- azure - ADF 到 Snowflake 增量加载和流
- python - TypeError:“协程”对象不可下标
- python - CSV 到 json 转换
- google-cloud-platform - Google Cloud Shell gcloud 命令输出不再漂亮
- r - 是否可以仅用点和标签替换 PCA gg-plot 中的变量箭头?
- python - Raspberry Pi Raspbian 如何连接到 USB 投币器(EMP 800)
- ocr - 如何使用 pytesseract 进行未知方向的文本识别任务?