swalkner
swalkner

Reputation: 17339

Activities or Fragments in NavigationView?

I have a NavigationView used as a slide-in menu. Each of that menu items is a use case itself, therefore I tend to using activities containing different fragments.

But nearly every example of NavigationView/NavigationDrawer uses fragments, so I don't know what to use here.

I thought different use cases should be "encapsulated" in own activities, therefore I don't really understand why Navigation[View/Drawer] uses fragments. And that leads me to my question: for a Navigation[View/Drawer] containing completely separate use cases - should I link to activities or fragments?

Upvotes: 6

Views: 1626

Answers (2)

Rinav
Rinav

Reputation: 2557

I posted a similar question

I have created around 4-5 apps with mid-big size project. I used Fragments for Navigation Menu clicks and had to manage lots of Lifecycle events and Memory Leaks and shit stuff. The Performance degrades and app becomes slow.

Then in one of the app I Used Activities for each Navigation menu clicks, treating it separate Entity/Module. This Activity would then use fragments if they had child views.

Doing so I had a great app, less trouble and I could concentrate on Business Logic rather than maintaining fragments.

Although Google recommends Fragments, But I never liked them, they always put me in trouble and handling them is a mess.

In my current Project I have created a BaseActivity implementing Navigation and all the other Activity extend it.

Upvotes: 1

Budius
Budius

Reputation: 39836

the NavigationDrawer and the contents are all just Views inside the Activity view hierarchy.

The use it of fragments is usually shown in tutorials because you can encapsulate each item inside a fragment, and fragments is the usual Google advice, even though they're a pain in the ass and have horrible drawbacks regarding animation.

But the direct answer to your question is: It's all just a matter of structure and organisation and it really does not matter how you do it, because in the end they're all just views in the Activity view hierarchy.

  • You can "manually" inflate views and put in the content area.
  • You use fragments to separate the views and logic and their own container.
  • You can use activities with different content and the same NavigationDrawer.

Upvotes: 0

Related Questions