Передача результатов дочернего действия в родительскую вкладку - PullRequest
0 голосов
/ 19 октября 2011

У меня есть 6 действий в приложении: Activity1, Activity2, TabActivity, childTab1, childtab2, ExtraActivity.

Поток приложения:

Activity1 => Activity2 => TabActivity =>ChildTab1 or ChildTab2 => ExtraActivity

Теперь я хочу передать некоторые данные изExtraActivity до Activity1.Я использую StartActivityForResult для начала всех действий.

ExtraActivity может отправлять данные на ChildTab1 или ChildTab2, но я не могу отправить эти данные обратно на TabActivity и далее на Activity2 и, наконец, на Activity1.

Пожалуйста, помогите !!

Обновление: Во время поиска я получил свое решение по этому сообщению:

Как вернуть результат (startActivityForResult)из деятельности TabHost?

Ответы [ 2 ]

0 голосов
/ 19 октября 2011

Вы можете использовать контекст приложения для передачи данных между активами.

Способ использования контекста приложения.

Расширьте класс приложения и добавьте необходимые атрибуты.Таким образом, в своей деятельности вы можете получить доступ к контексту приложения и получить данные.Поскольку контекст приложения является одноэлементным, он будет одинаковым экземпляром в каждом действии.

MyApplication appContext = (MyApplication) getApplicationContext();
appContext.myString = "YOUR DATA;

В любом другом действии вы можете получить доступ к этому растровому изображению таким же образом.

MyApplication appContext = (MyApplication) getApplicationContext();

Теперьстрока находится в объекте appContext.

Вам также необходимо добавить

android:name=".MyApplication"

к тегу приложения в файле манифеста.

0 голосов
/ 19 октября 2011

Я думаю, вы можете делегировать метод-результат onActivityResult из ChildTabX в TabActivity с помощью ((TabActivity) getParent ()). OnActivityResult (). Там вы просто вызываете setResult и finish () снова, чтобы отправить результат в Activity2. То же самое для Деятельности2

...