Java.lang.IllegalStateException: Objeto ya no es administrado por Realm. ¿Se ha eliminado?

Estoy aprendiendo Realm y Recyclerview. Hice una aplicación sencilla donde puedes agregar elementos y eliminarlos. Todo está funcionando bien hasta que empiece a eliminar el elemento uno por uno. En el último elemento cuando hago clic en Eliminar me dan una excepción

java.lang.IllegalStateException: Object is no longer managed by Realm. Has it been deleted? 

Este es mi codigo

  @Override public void onDeleteClick(int position) { mRealm.beginTransaction(); mResult.get(position).deleteFromRealm(); mRealm.commitTransaction(); adapter.notifyItemRemoved(position); } 

Aquí está la pila completa

  java.lang.IllegalStateException: Object is no longer managed by Realm. Has it been deleted? at io.realm.internal.InvalidRow.getStubException(InvalidRow.java:192) at io.realm.internal.InvalidRow.getString(InvalidRow.java:88) at io.realm.PersonsRealmProxy.realmGet$firstName(PersonsRealmProxy.java:67) at techiespk.realmpractice.Persons.getFirstName(Persons.java:22) at techiespk.realmpractice.MyListAdapter.onBindViewHolder(MyListAdapter.java:44) at techiespk.realmpractice.MyListAdapter.onBindViewHolder(MyListAdapter.java:15) at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:5471) at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:5504) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4741) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4617) at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1994) at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1390) at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1353) at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:574) at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3028) at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2906) at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3283) 

Ok gracias a Christian Melchior por ayuda. He arreglado mi código haciendo esto

antes de

  @Override public void onBindViewHolder(MyListViewHolder holder, int position) { Persons p = persons.get(position); holder.firstName.setText(p.getFirstName()); holder.lastName.setText(p.getLastName()); } 

Después

  @Override public void onBindViewHolder(MyListViewHolder holder, int position) { if (persons.get(position).isValid()) { Persons p = persons.get(position); holder.firstName.setText(p.getFirstName()); holder.lastName.setText(p.getLastName()); } } 
  • Descargando la imagen del almacenamiento de firebase usando picasso: excepción de memoria
  • Cómo ampliar el espacio entre RecyclerView Item mientras se desplaza
  • Cómo obtener un contexto en un adaptador de vista de reciclador
  • Desplazamiento del foco de RecyclerView
  • Definición de onclickListener de RecyclerView en una actividad
  • Cómo mostrar la fecha entre conversación en recyclerview o en listview
  • Deslice RecyclerVista arriba mientras lo desliza hacia arriba, o deslice la vista de reciclaje hacia abajo mientras desliza hacia abajo
  • Animar bot / parte inferior de la vista viola desplazamiento en recyclerView
  • Eliminación del indicador de foco de RecycleView en Android
  • Cargando diferentes imágenes fuera de línea (imágenes predeterminadas) en NetworkImageview Volley android
  • Retener el efecto de ondulación durante la notificación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.