【问题标题】:Navigation drawer with different activities or fragments具有不同活动或片段的导航抽屉
【发布时间】:2014-08-23 11:10:18
【问题描述】:

我将从一个新的应用程序开发开始。由于我是 android 开发的新手,我想要一个建议。在我的应用程序中,我将使用导航抽屉。现在我很困惑是否使用不同的活动或片段.另外我想为所有活动制作一个通用的导航抽屉,而无需在所有活动中编写抽屉代码。请有人帮助我这是更好的方法

  1. 使用一个活动和多个片段或
  2. 与片段相关的一个活动。
  3. 还有如何在所有活动中使用通用的抽屉导航代码(连同 actionBar)

【问题讨论】:

  • 视情况而定。你会有两个以上不同的片段吗?
  • 是的,我会拥有它

标签: android android-fragments navigation-drawer


【解决方案1】:

您可以做到这一点的一种方法是拥有一个扩展ActionBarActivityBaseActivity,并拥有一个DrawerLayout 和一个FrameLayout,作为您当前Fragment 的容器。它还具有使DrawerLayout 起作用的代码,并具有一个抽象方法来更改其中的Fragment。像这样:

public abstract void putFragment();

onCreate()方法中,你最后一次调用是putFragment()

然后,您将拥有尽可能多的活动,这些活动将扩展此 BaseActivity 并实现 putFragment() 方法。他们将在那里做的是更改FrameLayout 容器中的Fragment。这意味着您有一个Fragment 对应BaseActivity 的每个子Activity

你不需要在你的 subActivity 中实现 onCreate() 方法,因为它们继承了父 Activity 布局。只需实现 putFragment() 方法,您就可以控制当前的 Fragment。在每个 Fragment 的 onCreateView() 内部,执行您的应用逻辑。

关于 DrawerLayout,你只需要在你的每个 SubActivity 中实现一个CallBack 来处理DrawerLayout 中的点击,然后执行一个类似selectDrawerItem() 的方法,启动所需的Sub Activity

【讨论】:

  • 您应该首先尝试实施它并进行研究。然后解释你面临的障碍
  • 好吧,先生,这不是问题 :)。还有一个问题,先生,使用 1 个活动和许多片段或与每个片段关联的 1 个活动更好吗??
  • 第二种方法对我来说似乎更具可扩展性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-04
  • 1970-01-01
  • 1970-01-01
  • 2014-04-14
  • 2016-05-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多