Прошу прощения за такой глупый вопрос, но я не могу лучше описать свою проблему. У меня есть 2 класса:Имеет ли x = y x указатель на y?
//First Class
public class VKtracks extends Fragment {
RecyclerView list;
SongListAdapter listAdapter;
private ArrayList<song> songs = new ArrayList<>();
MainActivity mainActivity;
public VKtracks(){
}
@Override
public void onActivityCreated (Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
mainActivity = (MainActivity)getActivity();
songs = mainActivity.songs;
Iterator<song> itr = songs.iterator();
while (itr.hasNext()) {
song element = itr.next();
if(element.getSource() == 0){
itr.remove();
}
}
}
//Second class
public class Tracks extends Fragment {
RecyclerView list;
private MediaPlayer mp = new MediaPlayer();
SongListAdapter listAdapter;
private ArrayList<song> songs = new ArrayList<>();
ImageButton playButton;
boolean playerActive = false;
MainActivity mainActivity;
int mLastFirstVisibleItem = 0;
public Tracks() {
}
@Override
public void onActivityCreated (Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
mainActivity = (MainActivity)getActivity();
songs = mainActivity.songs;
listAdapter = new SongListAdapter(getContext(),songs, mainActivity);
listAdapter.notifyDataSetChanged();
list.setHasFixedSize(true);
LinearLayoutManager llm = new LinearLayoutManager(getActivity());
list.setLayoutManager(llm);
list.setAdapter(listAdapter);
}
}
В обоих классах я получаю список песен из MainActivity. В классе Tracks я просто заполняю RecyclerView этим, а в VKtracks я перебираю ненужные элементы с помощью итератора и заполняю другое RecyclerView. В конце у меня есть 2 похожих фильтрационных списка. Если я прокомментирую фильтрующую часть в классе VKTracks, я получаю 2 похожих нефильтрованных списка.
Итак, почему это происходит?
Единственное, что я могу предположить, это то, что обе песни ArrayLists являются poiners для песен ArrayList в MainActivity.
@Tom Good catch. Я исправил описание. – Paul