Java всегда передается по значению. К сожалению, когда мы передаем значение объекта, мы передаем ссылку на него, как вы сделали это здесь:
new HomeGridAdapter(mContext, mFilePathImages);
, поэтому теперь, когда вы изменяете свой массив mFilePathImages, это также влияет на адаптер .
Для лучшего разъяснения см. Этот ответ: { ссылка }
, чтобы избежать этой ситуации, вы должны передать массив после получения окончательных данных (или любых изменений во время выполнения) , Для адаптера сделайте список изначально пустым.
всякий раз, когда у вас есть окончательные данные, отправляйте их на адаптер как:
public void updateData(ArrayList<String> list) {
if (list!= null) {
this.list.clear();
this.list.addAll(list);
notifyDataSetChanged();
}
}