Most visited

Recently visited

FragmentTransaction

public abstract class FragmentTransaction
extends Object

java.lang.Object
   ↳ android.support.v4.app.FragmentTransaction


静态库支持版本的框架FragmentTransaction 用于编写在Android 3.0之前的平台上运行的应用程序。 在Android 3.0或更高版本上运行时,此实现仍在使用; 它不会尝试切换到框架的实现。 请参阅框架SDK文档以了解类概述。

Summary

Constants

int TRANSIT_ENTER_MASK

为所有输入转换设置的位掩码。

int TRANSIT_EXIT_MASK

为所有退出转换设置的位掩码。

int TRANSIT_FRAGMENT_CLOSE

片段正在从堆栈中移除

int TRANSIT_FRAGMENT_FADE

片段应该简单地淡入或淡出; 也就是说,除了由于某种原因出现或消失之外,没有与之相关的强大导航。

int TRANSIT_FRAGMENT_OPEN

碎片被添加到堆栈中

int TRANSIT_NONE

没有用于转换的动画。

int TRANSIT_UNSET

未设置转换。

Public constructors

FragmentTransaction()

Public methods

abstract FragmentTransaction add(Fragment fragment, String tag)

使用0 containerViewId调用 add(int, Fragment, String)

abstract FragmentTransaction add(int containerViewId, Fragment fragment, String tag)

将一个片段添加到活动状态。

abstract FragmentTransaction add(int containerViewId, Fragment fragment)

用空标签调用 add(int, Fragment, String)

abstract FragmentTransaction addSharedElement(View sharedElement, String name)

与自定义转场一起用于将视图从已删除或隐藏的片段映射到显示或添加片段的视图。

abstract FragmentTransaction addToBackStack(String name)

将此事务添加到后退堆栈。

abstract FragmentTransaction attach(Fragment fragment)

detach(Fragment)之前将其从UI中 detach(Fragment)之后重新附加片段。

abstract int commit()

计划提交此事务。

abstract int commitAllowingStateLoss()

commit()一样,但允许在活动状态保存后执行提交。

abstract void commitNow()

同步提交此事务。

abstract void commitNowAllowingStateLoss()

commitNow()一样,但允许在保存活动状态后执行提交。

abstract FragmentTransaction detach(Fragment fragment)

从UI中分离给定的片段。

abstract FragmentTransaction disallowAddToBackStack()

禁止拨打 addToBackStack(String)

abstract FragmentTransaction hide(Fragment fragment)

隐藏现有片段。

abstract boolean isAddToBackStackAllowed()

如果允许将此FragmentTransaction添加到后退堆栈,则返回true。

abstract boolean isEmpty()
abstract FragmentTransaction remove(Fragment fragment)

删除现有的片段。

abstract FragmentTransaction replace(int containerViewId, Fragment fragment, String tag)

替换已添加到容器的现有片段。

abstract FragmentTransaction replace(int containerViewId, Fragment fragment)

用空标记调用 replace(int, Fragment, String)

abstract FragmentTransaction setBreadCrumbShortTitle(int res)

设置简短的标题显示为面包屑,当此事务处于反向堆栈时。

abstract FragmentTransaction setBreadCrumbShortTitle(CharSequence text)

setBreadCrumbShortTitle(int)但采取一个原始字符串; 建议使用此方法,因为如果语言环境更改,以后无法更改该字符串。

abstract FragmentTransaction setBreadCrumbTitle(int res)

设置完整的标题以显示作为面包屑,当此事务处于反向堆栈时。

abstract FragmentTransaction setBreadCrumbTitle(CharSequence text)

setBreadCrumbTitle(int)但采取一个原始字符串; 建议使用此方法,因为如果语言环境更改,以后无法更改该字符串。

abstract FragmentTransaction setCustomAnimations(int enter, int exit, int popEnter, int popExit)

设置特定的动画资源以针对在此事务中进入和退出的片段运行。

abstract FragmentTransaction setCustomAnimations(int enter, int exit)

设置特定的动画资源以针对在此事务中进入和退出的片段运行。

abstract FragmentTransaction setTransition(int transit)

为此交易选择一个标准过渡动画。

abstract FragmentTransaction setTransitionStyle(int styleRes)

设置将用于解析过境动画的自定义样式资源。

abstract FragmentTransaction show(Fragment fragment)

显示以前隐藏的片段。

Inherited methods

From class java.lang.Object

Constants

TRANSIT_ENTER_MASK

int TRANSIT_ENTER_MASK

为所有输入转换设置的位掩码。

常量值:4096(0x00001000)

TRANSIT_EXIT_MASK

int TRANSIT_EXIT_MASK

为所有退出转换设置的位掩码。

常量值:8192(0x00002000)

TRANSIT_FRAGMENT_CLOSE

int TRANSIT_FRAGMENT_CLOSE

片段正在从堆栈中移除

常量值:8194(0x00002002)

TRANSIT_FRAGMENT_FADE

int TRANSIT_FRAGMENT_FADE

片段应该简单地淡入或淡出; 也就是说,除了由于某种原因出现或消失之外,没有与之相关的强大导航。

常量值:4099(0x00001003)

TRANSIT_FRAGMENT_OPEN

int TRANSIT_FRAGMENT_OPEN

碎片被添加到堆栈中

常量值:4097(0x00001001)

TRANSIT_NONE

int TRANSIT_NONE

没有用于转换的动画。

常量值:0(0x00000000)

TRANSIT_UNSET

int TRANSIT_UNSET

未设置转换。

常量值:-1(0xffffffff)

Public constructors

FragmentTransaction

FragmentTransaction ()

Public methods

add

FragmentTransaction add (Fragment fragment, 
                String tag)

用0 containerViewId调用 add(int, Fragment, String)

Parameters
fragment Fragment
tag String
Returns
FragmentTransaction

add

FragmentTransaction add (int containerViewId, 
                Fragment fragment, 
                String tag)

将一个片段添加到活动状态。 该片段也可以有选择地将其视图(如果Fragment.onCreateView返回非null)放入活动的容器视图中。

Parameters
containerViewId int: Optional identifier of the container this fragment is to be placed in. If 0, it will not be placed in a container.
fragment Fragment: The fragment to be added. This fragment must not already be added to the activity.
tag String: Optional tag name for the fragment, to later retrieve the fragment with FragmentManager.findFragmentByTag(String).
Returns
FragmentTransaction Returns the same FragmentTransaction instance.

add

FragmentTransaction add (int containerViewId, 
                Fragment fragment)

用空标记调用 add(int, Fragment, String)

Parameters
containerViewId int
fragment Fragment
Returns
FragmentTransaction

addSharedElement

FragmentTransaction addSharedElement (View sharedElement, 
                String name)

与自定义转场一起用于将视图从已删除或隐藏的片段映射到显示或添加片段的视图。 sharedElement在View层次结构中必须具有唯一的transitionName。

Parameters
sharedElement View: A View in a disappearing Fragment to match with a View in an appearing Fragment.
name String: The transitionName for a View in an appearing Fragment to match to the shared element.
Returns
FragmentTransaction

也可以看看:

addToBackStack

FragmentTransaction addToBackStack (String name)

将此事务添加到后退堆栈。 这意味着事务在被执行后将被记住,并且在稍后弹出堆栈时将反转其操作。

Parameters
name String: An optional name for this back stack state, or null.
Returns
FragmentTransaction

attach

FragmentTransaction attach (Fragment fragment)

detach(Fragment)之前从UI中detach(Fragment)之后,重新附加一个片段。 这会导致其视图层次被重新创建,附加到UI并显示。

Parameters
fragment Fragment: The fragment to be attached.
Returns
FragmentTransaction Returns the same FragmentTransaction instance.

commit

int commit ()

计划提交此事务。 提交不会立即发生; 它将被安排在主线程上工作,在下次线程准备就绪时完成。

事务只能在其包含活动保存其状态之前使用此方法提交。 如果在该点之后尝试提交,则会抛出异常。 这是因为如果活动需要从其状态恢复,则提交后的状态可能会丢失。 有关可能会丢失提交的情况,请参阅commitAllowingStateLoss()

Returns
int Returns the identifier of this transaction's back stack entry, if addToBackStack(String) had been called. Otherwise, returns a negative number.

commitAllowingStateLoss

int commitAllowingStateLoss ()

commit()一样,但允许在活动状态保存后执行提交。 这很危险,因为如果活动需要稍后从其状态恢复,那么提交可能会丢失,所以这应该仅用于UI状态在用户意外更改的情况。

Returns
int

commitNow

void commitNow ()

同步提交此事务。 任何添加的片段将被初始化并完全进入其主机的生命周期状态,并且在该调用返回之前,任何被移除的片段将相应地被拆除。 以这种方式提交事务允许将片段添加为专用的封装组件,以监视其主机的生命周期状态,同时在这些片段完全初始化并准备就绪时提供更坚固的排序保证。 管理视图的碎片会创建并附加这些视图。

主叫 commitNow优选主叫 commit()随后 executePendingTransactions()因为后者将有尝试提交 所有当前未决的事务是否是所期望的行为或不的副作用。

以这种方式提交的事务可能不会被添加到FragmentManager的后端堆栈,因为这样做会破坏其他异步提交事务的其他预期订购保证。 此方法将抛出IllegalStateException如果交易之前要求被添加到后退堆栈与addToBackStack(String)

事务只能在其包含活动保存其状态之前使用此方法提交。 如果在该点之后尝试提交,则会抛出异常。 这是因为如果活动需要从其状态恢复,则提交后的状态可能会丢失。 请参阅commitAllowingStateLoss()以了解可能会丢失提交的情况。

commitNowAllowingStateLoss

void commitNowAllowingStateLoss ()

commitNow()一样,但允许在活动状态保存后执行提交。 这很危险,因为如果活动需要稍后从其状态恢复,那么提交可能会丢失,所以这应该仅用于UI状态在用户意外更改的情况。

detach

FragmentTransaction detach (Fragment fragment)

从UI中分离给定的片段。 这与放置在后端堆栈上的状态相同:片段已从UI中删除,但其状态仍由片段管理器主动管理。 进入这种状态时,它的视图层次被破坏。

Parameters
fragment Fragment: The fragment to be detached.
Returns
FragmentTransaction Returns the same FragmentTransaction instance.

disallowAddToBackStack

FragmentTransaction disallowAddToBackStack ()

禁止拨打addToBackStack(String) 任何未来的addToBackStack调用都会抛出IllegalStateException 如果addToBackStack已被调用,则此方法将抛出IllegalStateException。

Returns
FragmentTransaction

hide

FragmentTransaction hide (Fragment fragment)

隐藏现有片段。 这只与视图已添加到容器的片段相关,因为这会导致视图被隐藏。

Parameters
fragment Fragment: The fragment to be hidden.
Returns
FragmentTransaction Returns the same FragmentTransaction instance.

isAddToBackStackAllowed

boolean isAddToBackStackAllowed ()

如果允许将此FragmentTransaction添加到后退堆栈,则返回true。 如果此方法返回false,则addToBackStack(String)将抛出IllegalStateException

Returns
boolean True if addToBackStack(String) is permitted on this transaction.

isEmpty

boolean isEmpty ()

Returns
boolean true if this transaction contains no operations, false otherwise.

remove

FragmentTransaction remove (Fragment fragment)

删除现有的片段。 如果将其添加到容器,则其视图也会从该容器中移除。

Parameters
fragment Fragment: The fragment to be removed.
Returns
FragmentTransaction Returns the same FragmentTransaction instance.

replace

FragmentTransaction replace (int containerViewId, 
                Fragment fragment, 
                String tag)

替换已添加到容器的现有片段。 这与调用remove(Fragment)对于所有当前添加的片段具有相同的containerViewId,然后add(int, Fragment, String)与此处给出的相同参数的add(int, Fragment, String)相同。

Parameters
containerViewId int: Identifier of the container whose fragment(s) are to be replaced.
fragment Fragment: The new fragment to place in the container.
tag String: Optional tag name for the fragment, to later retrieve the fragment with FragmentManager.findFragmentByTag(String).
Returns
FragmentTransaction Returns the same FragmentTransaction instance.

replace

FragmentTransaction replace (int containerViewId, 
                Fragment fragment)

用空标签调用 replace(int, Fragment, String)

Parameters
containerViewId int
fragment Fragment
Returns
FragmentTransaction

setBreadCrumbShortTitle

FragmentTransaction setBreadCrumbShortTitle (int res)

设置简短的标题显示为面包屑,当此事务处于反向堆栈时。

Parameters
res int: A string resource containing the title.
Returns
FragmentTransaction

setBreadCrumbShortTitle

FragmentTransaction setBreadCrumbShortTitle (CharSequence text)

setBreadCrumbShortTitle(int)但采取一个原始字符串; 建议使用此方法,因为如果语言环境更改,以后无法更改该字符串。

Parameters
text CharSequence
Returns
FragmentTransaction

setBreadCrumbTitle

FragmentTransaction setBreadCrumbTitle (int res)

设置完整的标题以显示作为面包屑,当此事务处于反向堆栈时。

Parameters
res int: A string resource containing the title.
Returns
FragmentTransaction

setBreadCrumbTitle

FragmentTransaction setBreadCrumbTitle (CharSequence text)

setBreadCrumbTitle(int)但采取一个原始字符串; 建议使用此方法,因为如果语言环境更改,以后无法更改该字符串。

Parameters
text CharSequence
Returns
FragmentTransaction

setCustomAnimations

FragmentTransaction setCustomAnimations (int enter, 
                int exit, 
                int popEnter, 
                int popExit)

设置特定的动画资源以针对在此事务中进入和退出的片段运行。 特别是在弹出后退堆栈时, popEnterpopExit动画将用于进入/退出操作。

Parameters
enter int
exit int
popEnter int
popExit int
Returns
FragmentTransaction

setCustomAnimations

FragmentTransaction setCustomAnimations (int enter, 
                int exit)

设置特定的动画资源以针对在此事务中进入和退出的片段运行。 弹出背面堆叠时不会播放这些动画。

Parameters
enter int
exit int
Returns
FragmentTransaction

setTransition

FragmentTransaction setTransition (int transit)

为此交易选择一个标准过渡动画。 可能是一个TRANSIT_NONETRANSIT_FRAGMENT_OPENTRANSIT_FRAGMENT_CLOSE ,或TRANSIT_FRAGMENT_FADE

Parameters
transit int
Returns
FragmentTransaction

setTransitionStyle

FragmentTransaction setTransitionStyle (int styleRes)

设置将用于解析过境动画的自定义样式资源。

Parameters
styleRes int
Returns
FragmentTransaction

show

FragmentTransaction show (Fragment fragment)

显示以前隐藏的片段。 这只与其视图已添加到容器的片段相关,因为这会导致显示视图。

Parameters
fragment Fragment: The fragment to be shown.
Returns
FragmentTransaction Returns the same FragmentTransaction instance.

Hooray!