我正从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项目并更新视图。我已经阅读了this和this的资源,并且做了类似的事情:
companion object {
@JvmStatic
fun deleteAttachment(position: Int) {
}
}
但是我无权访问活动变量,那么在这种情况下我该怎么办?
答案 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) {
}
}