如何从适配器Kotlin访问视图元素?

时间:2019-05-15 07:20:44

标签: java android kotlin

我正从Java迁移到kotlin,但遇到了一些困难,这些困难与kotlin的静态方法使用有关。我想在我的活动中从recyclerView适配器访问视图。在Java上,我在适配器上做了类似的事情:

WriteResponseMess.deleteAttachment(position);

在我的活动中使用静态方法:

public static void deleteAttachment(int adapterPosition) {
        mNames = adapter.getItems();
        mNames.remove(adapterPosition);
        adapter.updateNames(mNames);
        adapter.notifyDataSetChanged();
        mNames = adapter.getItems();
    }

现在我想通过kotlin进行操作。主要要点是我必须删除RV项目并更新视图。我已经阅读了thisthis的资源,并且做了类似的事情:

companion object {
        @JvmStatic
        fun deleteAttachment(position: Int) {

        }
    }

但是我无权访问活动变量,那么在这种情况下我该怎么办?

1 个答案:

答案 0 :(得分:1)

static block只能访问 static members

活动member variables也应该是companion object的一部分。

例如:-

companion object {
    var mNames : MutableList<Name> = mutableListOf // is a member variable
    ......
    fun deleteAttachment(position: Int) {

    }
}