Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
disx
18 / 18 / 0
Регистрация: 26.02.2014
Сообщений: 480
#1

Обновление карты из DialogFragment, без обновления активити? - Android

12.01.2016, 16:01. Просмотров 233. Ответов 5
Метки нет (Все метки)

Подскажите пожалуйста, есть MapsActivity в нем вызывается Dialog в нем вставляю координаты нажимаю ок, передаю координаты в переменные MapsActivity

И вопрос в том как обновить карту не делая рестарта активити, т.е. что бы просто карта загрузилась с текущими координатами?

Спасибо!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2016, 16:01     Обновление карты из DialogFragment, без обновления активити?
Посмотрите здесь:

Android Скролл без обновления канваса
Android Как запустить активити без прописывания в манифесте?
Обновление без google play Android
DialogFragment в Fragment Android
Android Вернуться в то же активити (без открытия нового)
Android Запуск BroadcastReceiver без активити
Android Как сделать приложение без единого активити
Обновление списка при выходе из DialogFragment Android
Обновление адаптера на неактивной активити Android
Особенности DialogFragment Android
Android Отправка данных из dialogfragment в активити в котором был создан диалог
Перемещение DialogFragment Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
disx
18 / 18 / 0
Регистрация: 26.02.2014
Сообщений: 480
14.01.2016, 10:54  [ТС]     Обновление карты из DialogFragment, без обновления активити? #2
если после выхода из Dialog выключить экран (ну находясь в MapsActivity), а потом включить то карта обновляется с координатами которые переданы из диалога, т.е. срабатывает onResume() в котором пересоздается карта,

но почему он не хочет срабатывать именно при выходе из Диалога может есть у кого мысли?

Добавлено через 14 часов 34 минуты
Продвинулся маленько, оказывается из диалога нельзя управлять onPause() активити...

тут написано почему:
Кликните здесь для просмотра всего текста
onPause() is called when your activity is no longer at the top of the activity stack. A Dialog by itself is not an Activity, so will not replace the current Activity at the top of the stack, so will not cause anything to pause.

A dialog (lower-case) does not need to be implemented by a Dialog class, however. For example it is not uncommon to implement one with an Activity whose theme is set to that of a dialog. In this case displaying the dialog-as-an-Activity will cause the new Activity to be on the top of the stack, pausing what previously was there.


поэтому решил заменить Диалог на Активити, и при ее вызове обнулять объект карты map=null; и все работает, но для полного счасться может кто подскажет как придать активити стиль диалога, пробовал так:

Java
1
2
3
4
<activity android:name=".About"
    android:label="@string/about_title"
    android:theme="@android:style/Theme.Dialog">
</activity>
но вылетает ошибка мол style должен быть like AppTheme, может кто вкурсе что подставить в стили чтоб активитя внешне была как диалог?
Spelcrawler
523 / 493 / 111
Регистрация: 12.03.2014
Сообщений: 1,646
Завершенные тесты: 1
14.01.2016, 11:15     Обновление карты из DialogFragment, без обновления активити? #3
disx, можно же в OnDismiss диалога обновить карту.
disx
18 / 18 / 0
Регистрация: 26.02.2014
Сообщений: 480
14.01.2016, 13:36  [ТС]     Обновление карты из DialogFragment, без обновления активити? #4
Spelcrawler,

файл диалога:
Java
1
public class DialogSMS extends DialogFragment implements DialogInterface.OnDismissListener {
в нем же переопределяю onDismiss так:
Java
1
2
3
4
5
6
7
8
 @Override
    public void onDismiss(DialogInterface dialogInterface) {
        super.onDismiss(getDialog());
        Toast.makeText(getActivity(), "onDismiss", Toast.LENGTH_SHORT).show();
        Longtitude = Double.parseDouble(Lo);
        Latitude = Double.parseDouble(La);
 
    }
но как обновить карту не понимаю все равно?
Spelcrawler
523 / 493 / 111
Регистрация: 12.03.2014
Сообщений: 1,646
Завершенные тесты: 1
14.01.2016, 13:39     Обновление карты из DialogFragment, без обновления активити? #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от disx Посмотреть сообщение
в нем же переопределяю onDismiss так:
А если определить его в активити и назначить на диалог - как-то так (примерно, точный код не помню)
Java
1
dialog.setOnDismissListener(this);
А сохранение данных лучше бы делать по нажатию на кнопку "ОК".
disx
18 / 18 / 0
Регистрация: 26.02.2014
Сообщений: 480
14.01.2016, 15:15  [ТС]     Обновление карты из DialogFragment, без обновления активити? #6
определил в Активити, но но не дает выбрать/повесить такой метод setOnDismissListener(this);

диалог получаю так

DlgSMS = new DialogSMS();

показываю так:

DlgSMS.show(getSupportFragmentManager(), "DlgSMS");

Добавлено через 28 минут
Spelcrawler, понял он вешается на диалог, а не на DialogFragment/

Добавлено через 24 минуты
все вернул вариант с активити, который заработал со стилем диалога:

Java
1
2
3
4
<activity android:name=".About"
    android:label="@string/about_title"
    android:theme="@android:style/Theme.Dialog">
</activity>
просто унаследовал Диалог-Активити от Activity а не от AppCompat как было по умолчанию, и вполне красиво получилось... Spelcrawler, отдельное
Yandex
Объявления
14.01.2016, 15:15     Обновление карты из DialogFragment, без обновления активити?
Ответ Создать тему
Опции темы

Текущее время: 14:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru