需要一个成功的构建才能在Android Studio 4.0 Canary中显示预览或无法在预览中显示内容

Har*_*hal 5 android kotlin android-jetpack-compose android-studio-4.0

我试图打开预览但无法打开它。

我已经尝试再次打开工作室,但预览只显示一个空白的白色屏幕,里面没有显示任何内容。当我再次打开它时,它在预览端显示以下消息:

A successful build is needed before the preview can be displayed
Run Code Online (Sandbox Code Playgroud)

构建过程已完成并尝试构建多次,但仍显示相同的错误。

我在里面使用了简单的文字。

    @Composable
    fun Greeting(name: String) {
        Text (text = "Hello $name!")
    }
Run Code Online (Sandbox Code Playgroud)

这是我的全部内容:

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            Greeting("Android")
        }
    }

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

    @Preview
    @Composable
    fun PreviewGreeting() {
        Greeting("Android")
    }
}
Run Code Online (Sandbox Code Playgroud)

如果有人知道这个问题,请分享答案。

小智 3

尝试这个:

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            Greeting("Android")
        }
    }

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

@Preview
@Composable
fun PreviewGreeting() {
    Greeting("Android")
}
Run Code Online (Sandbox Code Playgroud)

  • `PreviewGreeting()`函数如何调用MainActivity的`Greeting()`类成员方法?在 Kotlin 规则中这应该是不可能的。 (2认同)