RecyclerView no muestra nada después de haber sido recreado, en Android

Así que tengo esta actividad de detalles, donde tengo un RecyclerView en la parte inferior y carga "Películas relacionadas".

 adapter = new CustomRecycleAdapter(getRelatedMovies()); adapter.notifyDataSetChanged(); 

Estoy cargando datos usando la API de Retrofit. Esta es mi función getRelatedMovies() :

 ArrayList<RelatedMovies> items; private ArrayList<RelatedMovies> getRelatedMovies() { items = new ArrayList<>(); Plugin.api.GetPackageVideos(publisher_id, package_id, getIntent().getStringExtra("movieCategory"), 1 + "", "asc", new Callback<MovieResults>() { @Override public void success(MovieResults movieResults, Response response) { Videos[] vids = movieResults.getResponse().getResult().getVideos(); for (int i = 0; i < vids.length; i++) { items.add(new RelatedMovies(vids[i].getTitle(), vids[i].getCustom_attributes().getGenres_en().split(",")[0], vids[i].getCustom_attributes().getPromoImage())); } } @Override public void failure(RetrofitError error) { Log.e("ERROR", error.toString()); } }); return items; } 

Así que aquí está el problema: cuando regreso a la pantalla principal para buscar otra película, e ingrese la actividad de detalles con el ID de la película, el RecyclerView no muestra nada, solo la primera vez que abro una película. Este es el código para mi RecyclerAdapter también:

 public class CustomRecycleAdapter extends RecyclerView.Adapter<CustomRecycleAdapter.ViewHolder> { ArrayList<RelatedMovies> relatedMovies; public static class ViewHolder extends RecyclerView.ViewHolder { public TextView tvRelatedMovieTitle, tvRelatedMoviePrice; public ImageView ivRelatedMoviePoster; public CardView cv; public ViewHolder(View itemView) { super(itemView); this.tvRelatedMovieTitle = (TextView) itemView.findViewById(R.id.tvRelatedMovieTitle); this.tvRelatedMoviePrice = (TextView) itemView.findViewById(R.id.tvRelatedMoviePrice); this.ivRelatedMoviePoster = (ImageView) itemView.findViewById(R.id.ivRelatedMoviePoster); this.cv = (CardView) itemView.findViewById(R.id.cv); } } public CustomRecycleAdapter(ArrayList<RelatedMovies> relatedMovies) { this.relatedMovies = new ArrayList<RelatedMovies>(); this.relatedMovies = relatedMovies; } @Override public CustomRecycleAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View itemView = LayoutInflater.from(parent.getContext()). inflate(R.layout.recycle_view_cards, parent, false); return new CustomRecycleAdapter.ViewHolder(itemView); } @Override public void onBindViewHolder(final CustomRecycleAdapter.ViewHolder holder, int position) { RelatedMovies movie = relatedMovies.get(position); holder.tvRelatedMovieTitle.setText(movie.movieTitle); holder.tvRelatedMoviePrice.setText(movie.moviePrice); Glide.with(holder.ivRelatedMoviePoster.getContext()) .load(movie.moviePosterUrl) .asBitmap() .diskCacheStrategy(DiskCacheStrategy.ALL) .fitCenter() .into(new SimpleTarget<Bitmap>() { @Override public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) { holder.ivRelatedMoviePoster.setImageBitmap(resource); } }); } @Override public int getItemCount() { return relatedMovies.size(); } } 

¿Alguna idea de por qué iba a suceder esto?

 private void getRelatedMovies() { Plugin.api.GetPackageVideos(publisher_id, package_id, getIntent().getStringExtra("movieCategory"), 1 + "", "asc", new Callback<MovieResults>() { @Override public void success(MovieResults movieResults, Response response) { List<RelatedMovies> items = new ArrayList<>(); Videos[] vids = movieResults.getResponse().getResult().getVideos(); for (int i = 0; i < vids.length; i++) { items.add(new RelatedMovies(vids[i].getTitle(), vids[i].getCustom_attributes().getGenres_en().split(",")[0], vids[i].getCustom_attributes().getPromoImage())); } adapter = new CustomRecycleAdapter(items); recyclerView.setAdapter(adapter); } @Override public void failure(RetrofitError error) { Log.e("ERROR", error.toString()); } }); } 

O cambia la lista dentro de un adaptador existente y llama a notifyDataSetChanged () o uno de los métodos más recientes que tiene como https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter.html#notifyItemRangeInserted (int, int)

  • GLSurfaceView desaparece cuando se desplaza hacia arriba y se desplaza hacia abajo nuevamente en RecyclerView
  • Cómo guardar la posición de desplazamiento de RecyclerView en Android?
  • RecyclerView ViewPager java.lang.NullPointerException android.support.v7.widget.RecyclerView $ ItemAnimator $ ItemHolderInfo.left
  • Android RecyclerView último elemento eliminar (tiempo de ejecución) error
  • RecyclerView Preguntas y Respuestas
  • Cómo diseñar Gridview como aplicación guardian
  • Diálogo de alerta personalizado con RecyclerView
  • Recycler view + Ver Pager + Nailed ScrollView + CoordinatorLayout
  • Android - RecyclerView espaciado entre elementos en una cuadrícula
  • Cambiar el enfoque de reciclaje al último elemento de la lista
  • Selección de un valor RadioButton y desplazamiento hacia atrás eliminando el seleccionado en RecyclerView
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.