我无法从在我的Fragment类内部定义的RecyclerView.ViewHolder内部调用requireActivity():
class ActFrag: Fragment() {
...
class ActHolder(itemView: View): RecyclerView.ViewHolder(itemView) {
...
var mActivity = requireActivity() // requireActivity() is not in scope.
...
}
...
}
... }
它可以在我的Java文件中工作,但是现在我在Kotlin中工作,它似乎不想玩球了。感谢您的关注。
答案 0 :(得分:1)
默认情况下,嵌套类是静态的(即,它们没有对包含的外部类的引用)。您可以添加inner
关键字以使它们成为内部类,这将允许您在外部类上调用方法:
inner class ActHolder(itemView: View): RecyclerView.ViewHolder(itemView) {