169 похожих чатов

Ребят, скажите что не так я делаю. Сам код показать

не могу, комп остался на работе, но проблема не дает уснуть. Все происходит внутри фрагмента. Короче с сервера прилетает объект, который содержит List, из элементов списка строится recyclerView. Далее можно вызвать диалоговое окно (оно вынесено в отдельный класс) 1) чтобы редактировать данные (тап по элементу recyclerView - в окно передается выбранный объект) 2) чтобы добавить новый элемент (при клике по кнопке в фрагменте). Также необходимо, чтобы при onBackPressed вылезал алерт с вопросом сохранить или нет изменения в списке. Как я все это организовал:
1) в фрагменте объявляю
MyObjA objA = new MyObjA();
List<MyObjB> list = new ArrayList<>();
2) в методе фрагмента onViewCreated() {
.........
objA = (MyObjA) getArguments()...(короче из bundle вытаскиваю объект)
list = objA.getList();
Далее вызываю метод который загружает адаптер
loadAdapter(); }
3) метод loadAdapter выглядит так: loadAdapter() {
adapter = new MyAdapter(list, getContext());
Здесь что-то там recyclerView c LayoutManager
recyclerView.setAdapter(adapter); }
4) далее в классе диалога есть интерфейс через который в фрагмент передаю отредактированный объект и закрываю окно - в фрагменте перезаписываю два метода интерфейса диалогового окна. Это:
elementEdited(MyObjB obj, int position) { list.set(position, obj); } и
elementAdded(MyObjB obj) { list.add(obj); }
Вот тут и заключается вся проблема: я здесь добавляю элемент в list, но этот же элемент добавляется в List внутри objA - почему так происходит? Может кто-нибудь объяснить? То есть изменяется два объекта, а не только list . Если что я только месяц назад начал андроид, поэтому пожалуйста тапками не кидаться. P.S.: я не поленился все это написать чтобы самому еще раз просмотреть всю картину действий. Заранее спасибо

2 ответов

17 просмотров

вот оно, ВОТ ОНО БЛЯДЬ! )))

видимо, потому что это один и тот же объект

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта