title: RecyclerView does not get empty
body: <p>My application has a main activity with a list of items (let's say item A and item B), every item will launch the same activity (UserGalleryActivity) but the recyclerView inside the Activity should display only the items related to the item (let's call it A) selected in the MainActivity.</p>
  
  <p>My problem is, if I select first (for example) the item A, it works correctly and the RecyclerView in the UserGalleryActivity display only the A's items, but then, when I go back to the MainActivity and select B, the UserGalleryActivity show me the A's items AND also the B's items.</p>
  
  <p>How can I fix this issue? any idea?
  Thank you in advance</p>
  
  <p>Code of the UserGalleryActivity:</p>
  
  <pre><code>protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_user_gallery);
  
      //L'activity riceve tramite intent dal main l'oggetto User
      Intent intent = getIntent();
      int user = intent.getIntExtra("user", -1);
      System.out.println("UserIndex: " + user);
      System.out.println(UsersSingleton.getInstance().getArray().get(user).getPhotos().size());
      if(user &gt;= 0 &amp;&amp; user&lt;=UsersSingleton.getInstance().getArray().size()){
          String username = UsersSingleton.getInstance().getArray().get(user).getUsername();
          username = username.substring(0, 1).toUpperCase() + username.substring(1);
          UserGalleryActivity.this.setTitle(username);
          System.out.println("UserIndex: " + user);
          //System.out.println(UsersSingleton.getInstance().getArray().get(user).getPhotos().get(0).toString());
          setRecycleView(user);
  
      }
  
  }
  
  
  //Al termine della creazione dell'arraylist di users viene invocata setReView con parameto l'arraylist creato
  private void setRecycleView(int userIndex){
      RecyclerView recyclerView = findViewById(R.id.photosList);
      recyclerView.setHasFixedSize(true);
      RecyclerView.LayoutManager layoutManager = new GridLayoutManager(this,2);
      recyclerView.setLayoutManager(layoutManager);
      MyAdapterPhotos adapter = new MyAdapterPhotos(this, userIndex);
      recyclerView.setAdapter(adapter);
  </code></pre>
  
  <p>Code of MyAdapterPhotos:</p>
  
  <pre><code>private int usersIndex;
  private Context context;
  JSONHelper jsonHelper;
  URLHelper urlHelper;
  ArrayList&lt;Photo&gt; photosList;
  //Bitmap bitmap;
  
  
  public MyAdapterPhotos(Context context, int usersList) {
      this.context = context;
      this.usersIndex = usersList;
      jsonHelper = new JSONHelper();
      urlHelper = new URLHelper();
      photosList = new ArrayList&lt;&gt;();
  
  }
  
  @NonNull
  @Override
  
  public MyAdapterPhotos.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
      View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.cell_layout_gallery,
              viewGroup, false);
      return new ViewHolder(view);
  }
  
  @Override
  public void onBindViewHolder(@NonNull ViewHolder holder, final int position) {
      if (UsersSingleton.getInstance().getArray().get(usersIndex).getPhotos().get(position) != null){
          holder.title.setText(UsersSingleton.getInstance().getArray().get(usersIndex).getPhotos().get(position).getCity());
          holder.img.setScaleType(ImageView.ScaleType.CENTER_CROP);//prima era centercrop
          String username = UsersSingleton.getInstance().getArray().get(usersIndex).getUsername();
          username = username.substring(0, 1).toUpperCase() + username.substring(1);
          holder.author.setText(username);
          System.out.println("Numero di Foto: " + UsersSingleton.getInstance().getArray().get(usersIndex).getPhotos().size());
          System.out.println("Posizione: " + position);
          System.out.println(UsersSingleton.getInstance().getArray().get(usersIndex).getPhotos().get(position).toString());
          setImage(UsersSingleton.getInstance().getArray().get(usersIndex).getPhotos().get(position).getSmall(), holder.img);
      }
  
  
  }
  
  @Override
  public int getItemCount() {
      return UsersSingleton.getInstance().getArray().get(usersIndex).getPhotos().size();
  }
  
  public class ViewHolder extends RecyclerView.ViewHolder{
      private TextView title;
      private ImageView img;
      private TextView author;
  
      public ViewHolder(View view){
          super(view);
          title = view.findViewById(R.id.title_g);
          img = view.findViewById(R.id.img_g);
          author = view.findViewById(R.id.author_g);
  
  
          // on image item click
          img.setOnClickListener(new View.OnClickListener(){
              @Override
              public void onClick(View v) {
                  // get position
                  int pos = getAdapterPosition();
  
                  // check if item still exists
                  if(pos != RecyclerView.NO_POSITION){
                      int clickedDataItem = pos;
  
                      /* for future animation
                      if (img.getDrawable() != null) {
                          bitmap = ((BitmapDrawable) img.getDrawable()).getBitmap();
                      } */
  
                      //se l'array di photo dell'utente è ancora vuoto, scaricale. altrimenti usa quelle che hai gia
                      Intent photosIntent = new Intent(context, PhotoDetailActivity.class);
                      photosIntent.putExtra("user", usersIndex);
                      photosIntent.putExtra("photo", clickedDataItem);
                      context.startActivity(photosIntent);
  
                      /*  for future animations
                      ActivityTransitionLauncher.with((AppCompatActivity) context)
                              .from(img)
                              .image(bitmap)
                              .launch(photosIntent);*/
  
                      //se l'array di photo dell'utente è ancora vuoto, scaricale. altrimenti usa quelle che hai gia
  
  
                  }
              }
          });
  
          // on title item click
          view.setOnClickListener(new View.OnClickListener(){
              @Override
              public void onClick(View v) {
                  // get position
                  int pos = getAdapterPosition();
  
                  // check if item still exists
                  if(pos != RecyclerView.NO_POSITION){
                      //Photo clickedDataItem = UsersSingleton.getInstance().getArray().get(usersIndex).getPhotos().get(pos);
                      int clickedDataItem = pos;
  
                      //se l'array di photo dell'utente è ancora vuoto, scaricale. altrimenti usa quelle che hai gia
                      Intent photosIntent = new Intent(context, PhotoDetailActivity.class);
                      photosIntent.putExtra("user", usersIndex);
                      photosIntent.putExtra("photo", clickedDataItem);
                      context.startActivity(photosIntent);
  
  
  
                      //Toast.makeText(v.getContext(), "You clicked " + clickedDataItem, Toast.LENGTH_SHORT).show();
                  }
              }
          });
  
      }
  
  }
  // metodo set immagine dell'utente dell'imageview
  private void setImage(String imageUrl, ImageView img){
      CircularProgressDrawable circularProgressDrawable =
              new CircularProgressDrawable(context);
      circularProgressDrawable.setStrokeWidth(5f);
      circularProgressDrawable.setCenterRadius(30f);
      circularProgressDrawable.start();
      GlideApp.with(context)
              .load(imageUrl)
              .placeholder(circularProgressDrawable)
              .into(img);
  }
  </code></pre>