android - 带有抽屉导航的 Android 应用程序的正确结构

标签 android android-fragments android-activity navigation-drawer

我正在构建一个 Android 应用程序,我对最佳结构有疑问。我使用的是 Navigation Drawer 用户界面,Android 似乎要求您为与抽屉导航中的列表项关联的每个 View 使用 fragment

这似乎很快变得复杂,我的每个 fragment 都会有几个 fragment (为了可重用性)。 fragment 交互监听器需要与 Activity 通信,但我涉及的唯一 Activity 是包含我的抽屉导航的那个。我不希望有很多听众链接回那个 Activity - 理想情况下我希望他们链接到他们的父 fragment 。

我已经有一段时间没有进行 Android 开发了,我想确保我以正确的方式进行开发。有人知道处理此问题的最佳方法吗?

最佳答案

如果您想要嵌套 fragment ,我建议您使用包装 fragment 。当抽屉导航中的项目被选中时,将调用此包装器 fragment 。在此包装器 fragment 内,将显示其他 fragment 。通过这种方式,您可以在一个 fragment 内完成抽屉导航中该项目的所有操作。在包装器 fragment 中,您使用 getChildFragmentManager() 来允许嵌套 fragment 。

此外,如果您想要导航栏中的内容,您应该这样做:https://stackoverflow.com/a/20189260/2767703 .


这当然是很多工作,所以这里有一个替代方案:

大多数时候 fragment 是与抽屉导航一起使用的方式,但如果您的应用程序变得非常大,我建议您改用 Activity 。

要使用 Activity ,我已经在别处写了一个答案:https://stackoverflow.com/a/19451842/2767703 .

这是我关于如何在多个 Activity 中使用抽屉导航的答案,我认为如果您的应用程序很大,这是最好的方法。

关于android - 带有抽屉导航的 Android 应用程序的正确结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22695324/

相关文章:

java - 首选项默认值和 PreferenceActivity

Android Material Design 搜索 View

android - 选项卡布局 : How to load all the tabs or only swipe refresh occur

android - onBackPressed() 的问题不是刷新 fragment

android - 通过服务建立的蓝牙连接如何在 Android 中的所有其他 Activity 中持续存在?

java - Android 应用程序和 java Activity 、onCreate() 方法和 XML 问题

java - 如何保存用户在对话框中输入的内容?

android - Android中的人体部位检测

android - android 中的 Fragments 问题

android - 在独特的内存中开始一项新 Activity ?