Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 27 июн 2019, 11:46

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 89 ]  На страницу 1, 2, 3, 4, 5  След.
Автор Сообщение
СообщениеДобавлено: 17 окт 2012, 23:00 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1400
Благодарил (а): 0 раз.
Поблагодарили: 75 раз.

В этом уроке:


- работаем с DialogFragment




Click here to read this article!

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Последний раз редактировалось damager82 23 май 2017, 22:12, всего редактировалось 6 раз(а).

Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 23 окт 2012, 17:54 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1400
Благодарил (а): 0 раз.
Поблагодарили: 75 раз.
Сообщения про папки и картинки перенесены сюда: viewtopic.php?f=33&t=1291

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 21 ноя 2012, 00:41 

Зарегистрирован: 25 окт 2012, 15:06
Сообщений: 4
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Можете подсказать как передать значение переменной из одного DialogFragment в другой....Делала на основе вашего примера, у меня тест который собирает баллы. Через Intent не получается. Чего я не вижу?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 21 ноя 2012, 10:03 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1400
Благодарил (а): 0 раз.
Поблагодарили: 75 раз.
katrin писал(а):
Можете подсказать как передать значение переменной из одного DialogFragment в другой....Делала на основе вашего примера, у меня тест который собирает баллы. Через Intent не получается. Чего я не вижу?

Используйте setArguments для передачи данных в фрагмент, и getArguments для чтения.

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 22 ноя 2012, 20:15 

Зарегистрирован: 25 окт 2012, 15:06
Сообщений: 4
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Да спасибо, продвинулась, всё получилось А теперь как вернуть результат из fragment в основное MainActivity


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 23 ноя 2012, 01:46 

Зарегистрирован: 25 окт 2012, 15:06
Сообщений: 4
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Забейте на мой вопрос, я решила отказаться от Fragment. Сделать через обычный Activity, иначе куда ни кинь всюду клин. Всем спасибо.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 11 дек 2012, 09:55 

Зарегистрирован: 09 окт 2012, 13:51
Сообщений: 7
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Имеется Fragment, на котором расположена кнопка, при нажатии на неё запускается DialogFragment.

Как сделать, чтобы при закрытии DialogFragment, срабатывало onResume для Fragment, или же чтоб запустилась как нибудь функция в Fragment, которая бы обновляла его содержимое?

Например, в стандартном примере:

Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1.     @Override
  2.     public Dialog onCreateDialog(Bundle savedInstanceState) {
  3.  
  4.         return new AlertDialog.Builder(getActivity())
  5.                 .setIcon(R.drawable.alert_dialog_icon)
  6.                 .setTitle("Title")
  7.                 .setPositiveButton(R.string.alert_dialog_ok,
  8.                     new DialogInterface.OnClickListener() {
  9.                         public void onClick(DialogInterface dialog, int whichButton) {
  10.                             ((FragmentAlertDialog)getActivity()).doPositiveClick();
  11.                         }
  12.                     }
  13.                 )
  14.                 .setNegativeButton(R.string.alert_dialog_cancel,
  15.                     new DialogInterface.OnClickListener() {
  16.                         public void onClick(DialogInterface dialog, int whichButton) {
  17.                             ((FragmentAlertDialog)getActivity()).doNegativeClick();
  18.                         }
  19.                     }
  20.                 )
  21.                 .create();
  22.     }
  23.  


при нажатии на кнопку ОК сработает функция doPositiveClick() в активити, с которого запускался диалог, а как быть если диалог запускался с фрагмента?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 фев 2013, 15:16 
Аватар пользователя

Зарегистрирован: 20 окт 2012, 12:01
Сообщений: 4201
Благодарил (а): 68 раз.
Поблагодарили: 467 раз.
Пожалуйста, объясните, где-то я не догоняю. Почему любые диалоги, которые я делаю - не модальные? Пробую создать диалог ввода пароля в программу - жмешь в любое место, кроме диалогового окошка - он исчезает. Я где-то не поставила нужную "галочку"? :)

_________________
R.id.team

NullPointerException - что делать???
http://forum.startandroid.ru/viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
http://forum.startandroid.ru/viewtopic.php?f=60&t=3198


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 фев 2013, 18:59 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
Olivka писал(а):
Пожалуйста, объясните, где-то я не догоняю. Почему любые диалоги, которые я делаю - не модальные? Пробую создать диалог ввода пароля в программу - жмешь в любое место, кроме диалогового окошка - он исчезает. Я где-то не поставила нужную "галочку"? :)

конечно, если через стили то:
Код: [ Загрузить ] [ Скрыть ]
Using XML Syntax Highlighting
  1. <item name="android:windowCloseOnTouchOutside">false</item>

если через код, то метод:
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. setCanceledOnTouchOutside(boolean cancel)

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 07 фев 2013, 17:55 
Аватар пользователя

Зарегистрирован: 20 окт 2012, 12:01
Сообщений: 4201
Благодарил (а): 68 раз.
Поблагодарили: 467 раз.
Огромное спасибо! вы просто меня спасли..

Еще вопрос:
Я не пойму от чего зависит следующее. На активити или диалогефрагменте допустим есть поле ввода текста. Иногда у меня при вызове активити сразу же фокус перемещается в это поле и выскакивает клавиатура, а иногда просто без клавиатуры.
Я делаю в редакторе xml допустим так:
Код: [ Загрузить ] [ Скрыть ]
Using Text Syntax Highlighting
  1. <EditText
  2.         android:id="@+id/edPswrd"
  3.         android:layout_width="match_parent"
  4.         android:layout_height="wrap_content"
  5.         android:ems="10"
  6.         android:inputType="textPassword" >
  7.  
  8.         <requestFocus />
  9.     </EditText>

Я думала, что слово <requestFocus /> это и есть вызов клавы автоматом, т.к. поле долждно получать фокус, но нет, этого не происходит..
Опять, наверняка, не знаю про какую-нибудь галочку.

_________________
R.id.team

NullPointerException - что делать???
http://forum.startandroid.ru/viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
http://forum.startandroid.ru/viewtopic.php?f=60&t=3198


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 07 фев 2013, 21:27 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. android:focusable="false"

что бы вьюха не получала фокус при инициализации

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 07 фев 2013, 22:02 
Аватар пользователя

Зарегистрирован: 20 окт 2012, 12:01
Сообщений: 4201
Благодарил (а): 68 раз.
Поблагодарили: 467 раз.
Так это куда писать-то? у меня вообще-то есть диалог-фрагмент, там же нету вьюхи
А зачем тогда <requestFocus />?
я не очень поняла

_________________
R.id.team

NullPointerException - что делать???
http://forum.startandroid.ru/viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
http://forum.startandroid.ru/viewtopic.php?f=60&t=3198


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 07 фев 2013, 23:03 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
<requestFocus /> это получить фоку текущей вьюшке, если же не хотите что бы она получала задайте атрибут edittext'y который я указал

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 07 фев 2013, 23:48 
Аватар пользователя

Зарегистрирован: 20 окт 2012, 12:01
Сообщений: 4201
Благодарил (а): 68 раз.
Поблагодарили: 467 раз.
ура, работает! спасибо!!

_________________
R.id.team

NullPointerException - что делать???
http://forum.startandroid.ru/viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
http://forum.startandroid.ru/viewtopic.php?f=60&t=3198


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 09 апр 2013, 17:47 
Аватар пользователя

Зарегистрирован: 26 июл 2012, 10:42
Сообщений: 712
Благодарил (а): 6 раз.
Поблагодарили: 18 раз.
Ситуация следующая:
Передаю в конструктор моего DialogFragment одним из параметров lissener. При повороте экрана lissener не сохранить. Есть ли механизм у фрагментов позволяющий lissener вынести за скобку? И как им воспользоваться?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 09 апр 2013, 18:29 
Аватар пользователя

Зарегистрирован: 20 окт 2012, 12:01
Сообщений: 4201
Благодарил (а): 68 раз.
Поблагодарили: 467 раз.
neoksi писал(а):
Ситуация следующая:
Передаю в конструктор моего DialogFragment одним из параметров lissener. При повороте экрана lissener не сохранить. Есть ли механизм у фрагментов позволяющий lissener вынести за скобку? И как им воспользоваться?

параметр или Bundle?

_________________
R.id.team

NullPointerException - что делать???
http://forum.startandroid.ru/viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
http://forum.startandroid.ru/viewtopic.php?f=60&t=3198


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 09 апр 2013, 18:47 
Аватар пользователя

Зарегистрирован: 26 июл 2012, 10:42
Сообщений: 712
Благодарил (а): 6 раз.
Поблагодарили: 18 раз.
Olivka писал(а):
neoksi писал(а):
Ситуация следующая:
Передаю в конструктор моего DialogFragment одним из параметров lissener. При повороте экрана lissener не сохранить. Есть ли механизм у фрагментов позволяющий lissener вынести за скобку? И как им воспользоваться?

параметр или Bundle?

lissener - это реализация интефейса.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 09 апр 2013, 20:53 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
neoksi писал(а):
Ситуация следующая:
Передаю в конструктор моего DialogFragment одним из параметров lissener. При повороте экрана lissener не сохранить. Есть ли механизм у фрагментов позволяющий lissener вынести за скобку? И как им воспользоваться?

из этих слов я так и не смог собрать все мысли воедино, осталось только Что?Где?Когда?

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 09 апр 2013, 21:17 
Аватар пользователя

Зарегистрирован: 26 июл 2012, 10:42
Сообщений: 712
Благодарил (а): 6 раз.
Поблагодарили: 18 раз.
Ладно, попробую по пунктам:
1) Создаю свой DialogFragment, к примеру SelectItemDialogFragment.
2) При создании sidf = new SelectItemDialogFragment(.... , new SelectItemDialogFragment.itemOnClickLissener(){ переопределенный метод }), одним из параметров передаю lissener (метод обратного вызова, реализация интерфейса).
3) Диалог отображается. Телефон при этом у меня в портретном режиме.
4) Поворачиваю телефон в land ориентацию.
5) Фрагмент запоминает все параметры для персоздания, но lissener я сохранить в Bundle не могу.
6) Активити пересоздается и создает все фрагменты, в том числе и диалог.
7) Диалог остался без реализации lissener, на его месте будет null.

Вопрос: как реализовать связь DialogFragment и метода в основной активности? Чтоб она сохранялась при пересоздании активити.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 09 апр 2013, 22:37 
Аватар пользователя

Зарегистрирован: 20 окт 2012, 12:01
Сообщений: 4201
Благодарил (а): 68 раз.
Поблагодарили: 467 раз.
А.... Listener )))) извини, не поняла твое слово сразу

прикольно. надо свои диалоги повращать.

_________________
R.id.team

NullPointerException - что делать???
http://forum.startandroid.ru/viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
http://forum.startandroid.ru/viewtopic.php?f=60&t=3198


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 89 ]  На страницу 1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB