【发布时间】:2018-01-09 04:11:37
【问题描述】:
我在 Android ViewGroup 类上创建了一个 Kotlin 扩展函数,以便它可以更轻松地进行布局膨胀调用。所以,这是我的扩展:
fun ViewGroup.inflate(layoutRes: Int): View {
return LayoutInflater.from(context).inflate(layoutRes, this, false)
}
然后我可以像这样在适配器类中使用它来扩展布局:
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val v = parent.inflate(R.layout.view_item)
return ViewHolder(v)
}
我已经在我用于 RecyclerView 的适配器类中声明了这个扩展,以便它可以使通货膨胀调用更容易。但我想要所有适配器,或者我应该说所有ViewGroup 类来查看这个扩展。我想要它永久的。
它似乎只是停留在我宣布它不是全局的地方。我应该在哪里声明这个扩展,以便在我使用视图组的任何时候都可以使用这个方法扩展?
【问题讨论】:
-
我认为我不需要在上下文中传递。 ViewGroup 已经有一个上下文,getContext()。所以它应该使用自己的上下文。您创建的是一个没有类的包级函数。我想我可以把 utils 放在这里。感谢所有的帮助。
标签: android kotlin kotlin-extension