无法从ViewHolder调用requireActivity()

时间:2019-11-04 02:28:57

标签: android kotlin

我无法从在我的Fragment类内部定义的RecyclerView.ViewHolder内部调用requireActivity():

class ActFrag: Fragment() {
    ...
    class ActHolder(itemView: View): RecyclerView.ViewHolder(itemView) {
        ...
        var mActivity = requireActivity() // requireActivity() is not in scope.
        ...
    }
    ...
}

... }

它可以在我的Java文件中工作,但是现在我在Kotlin中工作,它似乎不想玩球了。感谢您的关注。

1 个答案:

答案 0 :(得分:1)

默认情况下,嵌套类是静态的(即,它们没有对包含的外部类的引用)。您可以添加inner关键字以使它们成为内部类,这将允许您在外部类上调用方法:

inner class ActHolder(itemView: View): RecyclerView.ViewHolder(itemView) {