2014-02-08 3 views
0

Я читал много сообщений о stackoverflow о фрагментах и ​​действиях, но я не уверен, что понимаю. Я отправляю проблему, над которой я работаю, - надеюсь, некоторые из вас могут помочь мне прояснить, что они означают в этом контексте.Фрагменты, действия, FragmentActivity

Я хочу создать приложение с двумя вкладками: «взять фотографию» и «просмотреть фотографию». При фотосъемке пользователь может сделать снимок. При просмотре фотографий пользователь может просматривать уже сделанные фотографии.

Так что я сделал две вкладки до сих пор в MainActivity, которая расширяет FragmentActivity и реализует ActionBar.TabListener. onCreate of MainActivity создает SectionsPagerAdapter, который распространяется от FragmentPagerAdapter. Основной целью моего SectionsPagerAdapter является создание новых фрагментов. Он создает TakePhotoFragment и BrowsePhotosFragment.

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

Я предполагаю, что главная проблема, с которой я столкнулся, заключается в том, что я действительно запутался в том, как можно использовать действия и фрагменты, несмотря на все прочитанные мной чтения. Возможно, кто-то может помочь выяснить в контексте того, что я пытаюсь сделать?

Спасибо!

+1

На самом деле фрагменты используются только для замены видов. Это будет полезно при реализации панели действий sherlock или панели действий. Проверьте здесь, чтобы иметь четкое представление о концепции фрагментов сперва http://www.androidbegin.com/ –

+0

Фрагменты _not_ используются для замены представлений. –

ответ

2

Ну, просто некоторые разъяснения, фрагмент - это контент, который будет помещен в действие, а не в действие. У вас всегда будет одно действие, которое может содержать фрагменты, но не наоборот. Для камеры, это похоже на любую другую функцию, вы вызовете внешнюю активность или услугу, вы можете сделать это внутри фрагмента, точно так же, как распознавание голоса или сканирование штрих-кода. Вот простой пример, который вы можете попробовать и адаптировать для фрагмента. http://developer.android.com/training/camera/photobasics.html Надеюсь, это поможет, удачи в ваших исследованиях.

1

Прежде всего, вы НЕ МОЖЕТЕ создать активность внутри фрагмента.

Если у вас есть код, который работает в рамках действия, он также должен работать внутри фрагмента. Просто используйте onCreateView фрагмента вместо Activity onCreate.

Если вы используете какой-либо SurfaceView для съемки фотографий, он работает в любом контексте. Если вы вызываете внешнюю камеру, она не имеет ничего общего с вашим макетом, она просто вызывает приложение для фото устройства, поэтому вы не можете поместить его в свой фрагмент.

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