Я запускаю действие, передающее анализируемый объект следующему действию
В следующем задании я делаю запрос и сохраняю список объектов как переменную поля класса. Я изменяю некоторые поля объектов из результата запроса. например, object.putint ("ab c", 122); // Я изменяю его со 100 на 122
Я НЕ вызываю save () или любой подобный метод для этих измененных объектов.
Теперь я заканчиваю sh второе действие с кнопкой "Назад" и go вернуться к первому действию.
Я снова запускаю второе действие, как и раньше
Запрос выполнен, и список объектов получен. Не возвращаемые объекты имеют разные значения, как у сервера. object.getInt ("ab c") возвращает 122, а не 100 100 - ожидаемое значение, так как был создан новый запрос для созданного действия, а измененный объект parseobject с прошлого раза не был сохранен. Но измененное значение parseobject все еще сохраняется локально даже после уничтожения действия.
Чтобы проверить в ondestroy второго действия, я установил значение объекта на 9999 и после перезапуска этого действия и выполнения запроса значение, возвращенное в сетевом журнале (100) не совпадает со значением, напечатанным позже через журнал.
Поле не указано c и localdatastore не используется.
РЕДАКТИРОВАТЬ:
Activity 1:
...
intent.putExtra("obj",myOrderParseObject);
startActivity...
Activity 2:
...
somequery.whereEqualTo("someField",getIntent.get...("obj");
List<Type2ParseObject> result = somequery.find();
...
result.get(0).getInt("myvalue") //return 100
result.get(0).put("myvalue",50)
finish();
Back to Activity 1:
...
intent.putExtra("obj",myOrderParseObject);
startActivity... //Again start activity
Activity 2:
//Again the same query
...
somequery.whereEqualTo("someField",getIntent.get...("obj");
List<Type2ParseObject> result = somequery.find();
...
result.get(0).getInt("myvalue") //returns 50 not 100!!!
I expected 100 as it is original server value but i got 50 which i put last time but not called any save() method.
How did the value persisted even after activity crash>