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

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 14 дек 2018, 18:43

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




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

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

В этом уроке:


- динамически работаем с фрагментами




Click here to read this article!

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


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

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

Зарегистрирован: 11 июл 2012, 12:30
Сообщений: 6
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Добрый день! Столкнулась с такой проблемой: Есть action bar, вкладки, в каждой вкладке должно быть много фрагментов, но при переходе с вкладки на вкладку происходит наложение фрагментов. Может быть, вы знаете, как лучше организовать работу с фрагментами в этом случае?


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

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1400
Благодарил (а): 0 раз.
Поблагодарили: 75 раз.
Возможно вы используете add вместо replace. В этом случае фрагменты накладываются друг на друга.

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


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

Зарегистрирован: 31 авг 2012, 17:58
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Если пользоваться библиотекой support.v4 (чтобы приложение с фрагментами запускалось на старых андроидах (начиная с 1.6)) то при попытке скомпилировать пример из урока появится ошибка:
Цитата:
Type mismatch: cannot convert from android.app.FragmentTransaction to android.support.v4.app.FragmentTransaction
(даже при том, что в импортах стоит только import android.support.v4.app.FragmentTransaction;)
Обойти эту ошибку помогает использование getSupportFragmentManager()
и главная активити в таком случае дожна объявляться как public class MainActivity extends FragmentActivity


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

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1400
Благодарил (а): 0 раз.
Поблагодарили: 75 раз.
warner писал(а):
Если пользоваться библиотекой support.v4 (чтобы приложение с фрагментами запускалось на старых андроидах (начиная с 1.6)) то при попытке скомпилировать пример из урока появится ошибка:
Цитата:
Type mismatch: cannot convert from android.app.FragmentTransaction to android.support.v4.app.FragmentTransaction
(даже при том, что в импортах стоит только import android.support.v4.app.FragmentTransaction;)
Обойти эту ошибку помогает использование getSupportFragmentManager()
и главная активити в таком случае дожна объявляться как public class MainActivity extends FragmentActivity

Да, код примеров не предназначен для запуска с библиотекой совместимости. Об этом будет отдельный урок.

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


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

Зарегистрирован: 20 окт 2012, 12:01
Сообщений: 4201
Благодарил (а): 68 раз.
Поблагодарили: 467 раз.
Люди, если кто-то разбирался с примером на сайте девелоперов http://developer.android.com/reference/ ... gment.html
что такое там a_item? (поиском по страничке легко находится). Никак не пойму откуда взялось и почему на эту штуку меняется фрагмент?

_________________
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


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

Зарегистрирован: 20 окт 2012, 12:01
Сообщений: 4201
Благодарил (а): 68 раз.
Поблагодарили: 467 раз.
Что-то никто не посещает, но все равно спрошу по этому же примеру..http://developer.android.com/guide/comp ... ml#Example
там написано, что один и тот же код можно запускать в виде фрагмента и в виде активити. Так вот мало того, что данный пример устарел, у меня еще он категорически ругается на попытку запустить новый инстанс фрагмента в качестве активити вот тут:

Код: [ Загрузить ] [ Скрыть ]
Using Text Syntax Highlighting
  1.    // Otherwise we need to launch a new activity to display
  2.             // the dialog fragment with selected text.
  3.             Intent intent = new Intent();
  4.             intent.setClass(getActivity(), DetailsActivity.class);
  5.             intent.putExtra("index", index);
  6.             >>>>startActivity(intent);

_________________
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


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

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1400
Благодарил (а): 0 раз.
Поблагодарили: 75 раз.
Olivka писал(а):
Люди, если кто-то разбирался с примером на сайте девелоперов http://developer.android.com/reference/ ... gment.html
что такое там a_item? (поиском по страничке легко находится). Никак не пойму откуда взялось и почему на эту штуку меняется фрагмент?

Походу баг. Здесь он тоже фигурирует - http://developer.android.com/guide/comp ... ments.html
А в указанном ими файле FragmentLayout.java, который у меня нашелся, нет никакого a_item.

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


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

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1400
Благодарил (а): 0 раз.
Поблагодарили: 75 раз.
Olivka писал(а):
ругается на попытку запустить новый инстанс фрагмента в качестве активити вот тут:

Код: [ Загрузить ] [ Скрыть ]
Using Text Syntax Highlighting
  1.    // Otherwise we need to launch a new activity to display
  2.             // the dialog fragment with selected text.
  3.             Intent intent = new Intent();
  4.             intent.setClass(getActivity(), DetailsActivity.class);
  5.             intent.putExtra("index", index);
  6.             >>>>startActivity(intent);


DetailsActivity - это у вас Acvtivity? В манифесте прописали его?
Какую конкретно ошибку выдает?

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


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

Зарегистрирован: 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


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

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1400
Благодарил (а): 0 раз.
Поблагодарили: 75 раз.
Olivka писал(а):
у фрагмента может быть свое меню? кнопочки там сверху и все такое..

Он может свои пункты в ActionBar добавлять. Урок 112.

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


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

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

Почитала, кстати, что след. урок будет про v4. Уже интересно, т.к. у меня есть активити с фрагментами, с которыми пришлось помучиться, в частности потому, что нужно было импортировать v4. Зачем тогда нужна обычная - не ясно, может, для старых версий..? В общем, жду.

_________________
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


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

Зарегистрирован: 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


Последний раз редактировалось Foenix 29 ноя 2012, 01:15, всего редактировалось 1 раз.

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

Зарегистрирован: 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, 18:30 

Зарегистрирован: 20 дек 2012, 08:18
Сообщений: 20
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Подскажите, есть основной лэйаут
Код: [ Загрузить ] [ Скрыть ]
Using XML Syntax Highlighting
  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2.    xmlns:tools="http://schemas.android.com/tools"
  3.    android:layout_width="match_parent"
  4.    android:layout_height="match_parent"
  5.    android:background="@color/white"
  6.    tools:context=".Quiz" >
  7.  
  8.     <FrameLayout
  9.        android:id="@+id/headerFragment"
  10.        android:layout_width="match_parent"
  11.        android:layout_height="wrap_content"
  12.        android:layout_alignParentLeft="true"
  13.        android:layout_alignParentRight="true"
  14.        android:layout_alignParentTop="true" >
  15.  
  16.     </FrameLayout>
  17.  
  18.     <FrameLayout
  19.        android:id="@+id/mainFragment"
  20.        android:layout_width="match_parent"
  21.        android:layout_height="wrap_content"
  22.        android:layout_alignParentLeft="true"
  23.        android:layout_alignParentRight="true"
  24.        android:layout_centerVertical="true" >
  25.  
  26.     </FrameLayout>
  27.  
  28.     <FrameLayout
  29.        android:id="@+id/footerFragment"
  30.        android:layout_width="match_parent"
  31.        android:layout_height="wrap_content"
  32.        android:layout_alignParentBottom="true"
  33.        android:layout_alignParentLeft="true"
  34.        android:layout_alignParentRight="true" >
  35.  
  36.     </FrameLayout>
  37.  
  38. </RelativeLayout>

Когда в центральный фрагмент помещаю контейнер с ListView
Код: [ Загрузить ] [ Скрыть ]
Using XML Syntax Highlighting
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.    android:layout_width="match_parent"
  4.    android:layout_height="match_parent"
  5.    android:gravity="center_horizontal"
  6.    android:orientation="horizontal"
  7.    android:scrollbars="horizontal" >
  8.  
  9.     <ListView
  10.        android:id="@+id/groupsList"
  11.        android:layout_width="match_parent"
  12.        android:layout_height="match_parent"
  13.        android:layout_alignParentLeft="true"
  14.        android:layout_alignParentRight="true"
  15.        android:layout_centerVertical="true"
  16.        android:scrollbars="horizontal" >
  17.  
  18.     </ListView>
  19.  
  20. </RelativeLayout>

содержимое наползает на верхний и нижний фрагменты.
Как сделать, чтобы список обрезало по границе центрального фрагмента?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 14 фев 2013, 13:25 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1400
Благодарил (а): 0 раз.
Поблагодарили: 75 раз.
Добавьте в mainFragment, что он должен быть ниже (below) чем headerFragment и выше (Above) чем footerFragment.

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


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

Зарегистрирован: 20 дек 2012, 08:18
Сообщений: 20
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пробовал так, центральный фрагмент вообще не отображается.
Зная высоту нижнего фрагмента, задал центральному bottom margin, все красиво, но вылезает другой глюк - при прокрутке списка невидимые до этого элементы отрисовываются с содержимым спрятавшихся при прокрутке.


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

Зарегистрирован: 18 фев 2013, 15:48
Сообщений: 3
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
А вот подскажет мне кто, пытаюсь всё воссоздать по образцу, но немного под свой проект запилить. Но getSupportFragmentManager() возвращает всегда null... Походу не срабатывает инфлэйт. Но не могу понять, в чём дело :cry:
Соответственно, если пытаюсь получить доступ к любым вьюшкам фрагмента - то вылетает Exception, так как к самому фрагменту я так и не подключился


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

Зарегистрирован: 24 фев 2013, 23:21
Сообщений: 4
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Метод add не позволяет повторно загрузить тот же фрагмент (например, если повторно нажать кнопку "Add", то приложение вылетает с ошибкой и в логах пишет что фрагмент уже загружен). Мудрил мудрил с проверкой и понял, что проще вместо add использовать replace. Логика у replace судя по описанию такая, что сначала из контейнера все удаляется, а потом загружается нужный фрагмент. По-моему, одни плюсы: не будет наслоений, не нужно городить проверки всякие. Может есть какой то более правильный способ?


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

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

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


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

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


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

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