本文介绍了Compose java.lang.IlLegalStateException:尚未应用挂起的合成的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我只想运行简单的测试

class Exa {
@get:Rule
val composeTestRule = createAndroidComposeRule<MainActivity>()
// createComposeRule() if you don't need access to the activityTestRule

@Test
fun MyTest() {
    // Start the app
    composeTestRule.setContent {
            Greeting2("Nurs")
    }
    
    composeTestRule.onNodeWithText("Hello Nurs!").assertIsDisplayed()
}
}

@Composable
fun Greeting2(name: String) {
 Text(text = "Hello $name!")
}

但出现以下错误:

java.lang.IllegalStateException: pending composition has not been applied

奇怪的是,如果我在另一个项目中运行它,它会起作用

推荐答案

希望为来自谷歌的任何人添加一些细节。标题中列出的例外情况:

java.lang.IllegalStateException: pending composition has not been applied
如果Composable在合成或重新合成视图时引发异常,则抛出

。在原始发帖者注意到的情况下,很可能引发了异常,因为活动本身无法承载组合,但如果在可组合方法中引发异常,则其他代码可能会导致这种情况。

这篇关于Compose java.lang.IlLegalStateException:尚未应用挂起的合成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-11 14:25