【发布时间】:2016-05-11 00:16:32
【问题描述】:
ActivityA 启动 fragmentA。我需要启动fragmentB。有两种方法可以做到这一点,但我不知道哪种方法最好第一种方法,创建一个将启动 FragmentB 的 ActivityB。因此,ActivityA--> ActivityB--> FragmentB。
第二种方式,就是用 FragmentB 替换 FragmentA
Fragment b = AddRecordFragment.init(Integer.valueOf(f.getId()));
getFragmentManager().beginTransaction().replace(R.id.container,b).addToBackStack(null).commit();
当我参加 Udacity 课程时,他们更喜欢第一种方式,但我看不出仅仅为了启动片段而创建第二个活动 (activityB) 的逻辑。你能告诉我每个人的优点和缺点是什么吗?
【问题讨论】:
-
有点取决于你用它们做什么
-
你能给我举个例子,说明第一种方法什么时候会有好处吗?
-
我有一个带有片段的应用程序,当片段将填满屏幕时,我将其作为与主要活动分开的活动的一部分启动。在平板电脑上,当有足够的空间显示两个窗格时,我将片段作为主要活动的一部分启动,以便继续显示主要布局。它是相同的片段,相同的代码,但根据 UI 的行为方式以两种不同的方式使用。片段的设计理念之一就是这种灵活性。希望对您有所帮助。
标签: android android-layout android-fragments