2016-07-23 6 views
0

Итак, мне нужно создать активность входа + фрагменты (войти, зарегистрироваться). Я хочу, чтобы на главном экране были две кнопки (login + register), которые я уже создал в XML-файле основной деятельности.Активность Android с двумя фрагментами

Однако я изо всех сил пытаюсь понять, как я должен добавить два фрагмента в свою деятельность (одна активность входа, которая приведет меня к первому фрагменту с помощью loginscreen и одного регистра активности, который приведет меня ко второму фрагменту с регистрационным экраном)

Итак, я создал новый проект в студии Android с пустым действием. Затем я щелкнул правой кнопкой мыши папку res/layout и нажал кнопку создания нового пустого фрагмента. Однако этот фрагмент не добавляется в где мой файл MainAcivity.java находится, новая папка с именем layout создана и добавлена ​​туда. Как добавить эти фрагменты в свою основную деятельность? Можно ли даже заменить основную аксиальность на фрагмент внутри этого активности (поэтому моя домашняя страница скрывается, когда я нажимаю o ne, а затем отображается фрагмент)? Или как мне это сделать?

Прошу прощения, если это кажется запутанным, это для меня. Любая помощь приветствуется.

ответ

1

Попробуйте это:

  • Во-первых, когда вы создали проект, сформированный проект дает макет для вашей деятельности и самого класса активности.
  • Во-вторых, если вы хотите добавить новый фрагмент, вы можете добавить класс Fragment в свой проект (образец папки в качестве вашей активности), а также создать XML-файл макета для этого фрагмента.
  • Теперь в вашей деятельности перед загрузкой соответствующего фрагмента вам понадобятся две кнопки - одна для входа и другая для Регистрации.
  • Важно помнить, что в вашем макете MainActivity xml хранится фрагмент FrameLayout, который будет содержать ваш фрагмент.
  • Когда пользователь выбирает Login, вы создаете экземпляр LoginFragment, используйте FragmentManager для фиксации транзакции.
  • Когда пользователь выбирает регистр, вы создаете экземпляр RegisterFragment, используйте FragmentManager для фиксации транзакции.

Поскольку вы будете использовать FrameLayout, вы будете заменять второй фрагмент, если первый уже есть!

Надеюсь, это поможет!

1

Я хочу, чтобы домашний экран, чтобы быть две кнопки (логин + регистрация), которые я уже созданная в XML-файле моей основного вида деятельности в

Хорошо, отлично!

Я изо всех сил, чтобы понять, как я "м должен добавить два фрагмента моей деятельности (один логин деятельности, которая бы привести меня к первому фрагменту с loginscreen и одного регистра деятельности, которая принесет мне второй фрагмент с registerscreen).

вы хотите LoginFragment и RegisterFragment? это имеет больше смысла, чем два Activitys. вы дополнительно будет иметь HomePageFragment с 2 кнопками.

это фраг Мент не добавляется в папку, где мой файл MainAcivity.java находится, новая папка под названием макет был создан и получил добавил, что

Это не ясно, как это случилось, но фрагмент, точно так же как Активность имеет формат XML и класс Java. Если у вас есть пакет макета, добавленный в путь Java, вам это действительно не нужно и может перемещать java-файлы рядом друг с другом.

Как добавить эти фрагменты в свою основную деятельность?

Используйте FragmentTransaction, например, из AppCompatActivity.

LoginFragment loginFrag = new LoginFragment(); 

// Add the fragment to the 'fragment_container' FrameLayout 
getSupportFragmentManager().beginTransaction() 
     .add(R.id.fragment_container, loginFrag).commit(); 

Возможно ли это сделать основной актив- ности заменяются фрагментом в этой деятельности (так что моя домашняя страница получает скрытый, когда я нажмите на одну кнопку, а затем фрагмент получает показан)?

Вы не замещаете активность, вы «переход»/«заменить» Фрагменты, которые отображаются в родительской активности.

Для получения более подробной информации см Building a Flexible UI

+0

Итак, если бы я хотел три экрана, я бы использовал три фрагмента, а не часть моего интерфейса в своей деятельности, а затем спрятал его двумя фрагментами? – user3117628

+0

Вы можете использовать N действий для вашего экрана или N фрагментов, содержащихся в одном действии. Это действительно зависит от вас. –

Смежные вопросы