Kotlinx - 为视图使用不同的根视图

问题描述 投票:0回答:1

在我目前的项目中,我正在膨胀像这样的视图。我重写了一个init方法,它允许我设置View,并获得它的引用。

class MyView(context: Context) : View(context), MyWidget {

    private lateinit var myView: View

    override fun init(viewGroup: ViewGroup) {
        myView = View.inflate(context, R.layout.layout_view, viewGroup)

        myView.textView.text = "Welcome"
        myView.nextButton.text = "Sign In"
    }
}

然而,问题是,如果我使用kotlinx,我需要在Views前面加上我所有的myView.

myView.textView.text = "Welcome"
// instead of
textView.text = "Welcome"

两者在编译器眼中都是有效的,但是如果我忘记给它添加前缀,它将在运行时崩溃。

有没有办法告诉kotlinx使用我创建的View,而不是我扩展的View

android kotlin kotlin-android-extensions
1个回答
0
投票

您可以使用

myView.apply { 
//set your views here without prefix
}

阻止设置您的文本视图

© www.soinside.com 2019 - 2024. All rights reserved.