在 Kotlin 中,(LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE) 的等效代码是什么?

3

我正在尝试在Kotlin中获取系统布局解析器:如果我将代码LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);转换为Kotlin,我会得到val inflater = getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater?,但看起来是错误的。那么在Kotlin中相应的代码是什么呢?

1个回答

3
那是等价的。你只需要进行空值保护转换,以防该服务为空(虽然它不应该为空,但偶尔会发生)。
要调用你的inflater变量,你可以直接使用inflater?.method()
或者,只需将as LayoutInflater?改为as LayoutInflater,以避免使用空值安全语法。
作为另一种选择,你可以使用LayoutInflater.from(this),这基本上只是一个便利函数,但它避免了你必须进行类型转换的麻烦。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接