首页 > 解决方案 > 如何将字符串传递给布局?

问题描述

我需要定义这个视频 ID,但由于某种原因,我不能像“loadVideo”之类的那样以编程方式指定它。lib有问题,我也在尝试解决它,但如果我无法解决它,我需要app:videoId动态发送一个字符串。我可以使用 XML 文件指定它,@string/video_id但在应用程序运行时我无法更改 XML 文件。所以,如果你能帮助我,那就太好了。

这是我的约束布局

标签: androidstringlayouttransfer

解决方案


<layout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto">
    <data>
        <variable
            name="viewmodel"
            type="com.myapp.data.ViewModel" />
    </data>
    <!-- UI layout's root element -->
    <ConstraintLayout... 
    app:videoID="@{viewmodel.videoID}"
    />
</Layout>

YourFragment.kt

findViewById<ConstraintLayout>(R.id.youtube_player).apply {
    videoID = "Your Video ID" 
}

参考:


推荐阅读