Android - 无法从静态上下文中引用 executePendingTransactions

Posted

技术标签:

【中文标题】Android - 无法从静态上下文中引用 executePendingTransactions【英文标题】:Android - executePendingTransactions cannot be referenced from static context 【发布时间】:2014-12-11 22:45:49 【问题描述】:

我从this 知道答案

如果您想立即执行任何此类挂起的操作,您可以调用此函数(仅从主线程)来执行此操作。

但是,如果我从静态主线程调用它,我会收到一条错误消息,提示 executePendingTransactions() 是非静态的,无法从静态上下文中引用。

我该如何解决这个问题?

谢谢!

【问题讨论】:

您可能正在尝试在 FragmentTransaction 类上调用此方法,但由于它不是静态方法,因此该方法不起作用。您应该在 FragmentTransaction 的实例上调用它。发布代码将有助于找出问题。 @Egor,我做FragmentManager.executePendingTransactions();,FragmentManager无法初始化。 【参考方案1】:

executePendingTransactions()FragmentManager 上的常规非静态方法。您需要FragmentManager实例,例如通过在您的ActivityFragment 上调用getFragmentManager()(或getSupportFragmentManager(),如果您正在使用片段反向端口)。

【讨论】:

以上是关于Android - 无法从静态上下文中引用 executePendingTransactions的主要内容,如果未能解决你的问题,请参考以下文章

无法从静态上下文中引用非静态 变量 this

无法从静态上下文中引用非静态方法 getSocketFactory [重复]

无法从静态上下文引用非静态方法

"无法从静态上下文中引用非静态变量,非静态方法"

Android - 为什么人们反复引用内联静态上下文,而不是在Method()中传递一次?

Android - 为啥人们反复引用静态上下文内联,而不是在 Method() 中传递一次?