Duplicación del adaptador en la Vista de reciclador

Hola, soy nuevo en progtwigción y mi problema es cuando cambio las tabs de mi navigation. Mis datos se duplican cuando se carga de nuevo.

httpClient.get(url, object : JsonHttpResponseHandler() { override fun onSuccess(statusCode: Int, headers: Array<out Header>, response: JSONArray) { for (i in 0 until response.length()) { val seminar = Seminar.fromJson(response.getJSONObject(i)) seminarsAdapter.add(SeminarItem(seminar)) } } override fun onFailure(statusCode: Int, headers: Array<out Header>?, responseString: String?, throwable: Throwable?) { Log.d("Seminars Fragment", throwable?.localizedMessage) } }) 

Puede borrar la list antes de agregar nuevos elementos, pero en caso de que desee agregarlos uno por uno o algo más de lógica en el futuro, le sugiero que agregue DiffUtil dentro de su Adapter para administrar el contenido de su Adapter

DiffUtil es una class de utilidad que puede calcular la diferencia entre dos lists y generar una list de operaciones de actualización que convierte la primera list en la segunda. Se puede usar para calcular actualizaciones para un adaptador RecyclerView.

Eche un vistazo a esta publicación que explica cómo implementarla junto con un Adapter y un RecyclerView

Si seminarsAdapter ya tiene algunos datos, los agregará al set existente de datos.

Tal vez, agregue un método clear a su onSuccess(...) -type y onSuccess(...) antes en onSuccess(...) .

 httpClient.get(url, object : JsonHttpResponseHandler() { override fun onSuccess(statusCode: Int, headers: Array<out Header>, response: JSONArray) { if(seminarsAdapter.size()>0){ seminarsAdapter.clear(); } for (i in 0 until response.length()) { val seminar = Seminar.fromJson(response.getJSONObject(i)) seminarsAdapter.add(SeminarItem(seminar)) } } override fun onFailure(statusCode: Int, headers: Array<out Header>?, responseString: String?, throwable: Throwable?) { Log.d("Seminars Fragment", throwable?.localizedMessage) } }) 

Seminarios claros Lista de adaptadores en la respuesta de la llamada de API para que los datos no se repitan. testing el código arriba

  • Persistencia de habitación Pers implementación en Kotlin
  • ¿Hay alguna forma de utilizar el valor pnetworkingeterminado en un parámetro no opcional cuando se pasa null?
  • Eclipse RCP: export de PDE y Kotlin
  • Kotlin: ¿es posible tener una propiedad constante dependiente de un tipo genérico de implementación?
  • Kotlin Closable y SQLiteDatabase en Android
  • ¿Las corutinas son solo azúcar sintáctico para los manipuladores de finalización?
  • Error de falta de coincidencia del tipo Kotlin al pasar los arguments desde la terminal
  • Sintaxis de Kotlin 'it' en el context de Volley
  • Kotlin para con diferente incremento
  • Escritura simple para loop en 1 línea en Kotlin
  • Beneficios de LINQ sobre el método funcional chaines