Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Андрей 05
0 / 0 / 0
Регистрация: 31.05.2017
Сообщений: 19
1

Передача объекта не сериализуемого класса от дочерней Activity к родительской

18.06.2018, 14:33. Просмотров 230. Ответов 4
Метки нет (Все метки)

Уважаемые форумчане, помогите решить проблему.
Суть проблемы.
Нужно передать объект класса GeocodeResult из дочерней Activity к родительской. GeocodeResult является не сериализуемым.
Для передаваемого объекта создается класс:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.io.Serializable;
 
public class AddresPoint implements  Serializable {
    public transient GeocodeResult geoResult;
 
    public  GeocodeResult getGeoResult()
    {
        return geoResult;
    }
 
    public void setGeoResult(GeocodeResult gr)
    {
        geoResult = gr;
    }
 
    public AddresPoint ()
    {
        geoResult = null;
    }
 
}
Передача в дочерней Activity выполняется в методе
Java
1
2
3
4
5
6
7
8
9
protected void MakeAddressPoints()
    {
        //Формирование начальной и конечной точек маршрута
        addresPoint.setGeoResult(geocodeResult);
        Intent intentFindAddres = new Intent(this,MainActivity.class);
        intentFindAddres.putExtra("AddresPoint", addresPoint);
 
        setResult(Activity.RESULT_OK,intentFindAddres);
    }
Примем в родительской выполняется в следующем коде
Java
1
2
     adrespoint = (AddresPoint) data.getSerializableExtra("AddresPoint");
     GeocodeResult codeResult = adrespoint.getGeoResult();
Все стандартно. Но!
Почему-то codeResult всегда null. При трассировки внутри класса AddresPoint geoResult оказывается null.
Хотя на этапе передаче, все присваивается.
Подскажите, почему обнуляются значения и как решить проблему передачи объекта из дочерной к родительской Activity?
Заранее спасибо!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2018, 14:33
Ответы с готовыми решениями:

Clipboard копирование сериализуемого объекта
bool s = IsSerializable(this); DataFormats.Format format =...

Передача объекта из одного экземпляра класса в другой с запретом обращаться к методам и свойствам этого объекта
Всем привет! Есть класс, в котором используется объект (MyObject, объявленный в private). При...

Отображение дочерней и родительской форм
Привет всем, подскажите как реализовать: по щелчку кнопки на главной открывается вторая форма, ...

Закрепление дочерней формы к родительской
Как сделать так, чтобы при открытии дочерней формы она: 1. Открывалась на координатах старой...

Перемещение родительской и дочерней формы
Есть две формы. Как сделать так, чтобы при перемещении одной формы, вторая перемещалась за ней?...

4
Pablito
2812 / 2236 / 754
Регистрация: 12.05.2014
Сообщений: 7,821
Завершенные тесты: 1
18.06.2018, 14:39 2
тема тут обсуждалась миллион раз уже
например
0
Андрей 05
0 / 0 / 0
Регистрация: 31.05.2017
Сообщений: 19
18.06.2018, 14:51  [ТС] 3
Пробовал. Не прошло
0
Pablito
2812 / 2236 / 754
Регистрация: 12.05.2014
Сообщений: 7,821
Завершенные тесты: 1
18.06.2018, 15:02 4
если делать поле traisient - ясен пень что не пройдет
0
Андрей 05
0 / 0 / 0
Регистрация: 31.05.2017
Сообщений: 19
18.06.2018, 15:07  [ТС] 5
Вот как раз этот разбирал этот пример. не проходит. Даже JSON

Добавлено через 1 минуту
А если не делать traisient, то вылетает на ошибку
0
18.06.2018, 15:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2018, 15:07

Как получить доступ к методам объекта класса наследуемого от Activity, когда он выводится во вкладку
В главном Активити создаются вкладки на котовые выводятся другие активити. @Override ...

Правильное отображение дочерней формы в родительской
Доброго времени суток! Проблема в следующем: Существует родительская форма с menuStrip и в ней...

Обновить webBrowser дочерней формы из родительской
Есть две формы Form1 и Form2, на форме Form2 расположен элемент webBrowser1. Как выполнить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru